![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
いつも参考にさせて頂いております、佐藤と申します。
入力ファイルの項目チェックを行おうとしておりましたが、
どうもコンパイルエラーが発生してしまいます。
原因が分かる方がいらっしゃいましたら、是非ともご教授願います。
以下がコーディングの一部となります。
FileReader text = new FileReader(args[0]);
BufferedReader data = new BufferedReader(text);
String check;
FileWriter fw = new FileWriter(args[1]);
while((check = data.readLine())!=null){
char[] src = check.toCharArray();
//第1~2パラメータをワークに代入
try{
n = Integer.parseInt(check[0]);
n2=Integer.parseInt(check[1]);
}catch(java.lang.NumberFormatException e){
System.out.println("第1~2パラメータが不正です");
return;
}
どうも、「//第1~2パラメータをワークに代入」の下でエラーとなっているようです。
エラーの内容は、「配列が要求されましたが、Java.lang.Stringが見つかりました」と表示されてしまいます。
どうか宜しくお願い致します。
A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
他の回答者もおっしゃってるようですが、まず変数checkはString型であり、配列ではありません。
ですのでcheck[0]としている箇所でエラーになります。
更に言うと、配列型は長さを途中で変えることはできません。
(前もって長さを指定しなければいけません)
ですので
char[] src = check.toCharArray();
の箇所でエラーになります。
皆さんのご回答で原因が分かりました。
本当にありがとうございました。
今後は同じエラーを起こさぬようにコーディングしようと思います。
No.2
- 回答日時:
FileWriterはどこで使われているのかわからないのですが、
ここでは考えなくて良いということでしょうか。
整理しましょう。
アプリへの引数として2つ与えられて、
一つ目が読み込みファイル名で二つ目が書き込み先ファイル名です。
そして、読み込みファイルからデータがなくなるまで1行ずつ読み込みます。
読み込んだデータを文字型配列(src[])に格納しなおします。
で、tryですが、文字列配列は登場していません(checkは配列ではない)ので、
文字配列の間違いかなあ~ と思いました。
思いましたが、今度は別の問題が発生します。
Integer.parseIntの引数は Stringなので、charは駄目だということです。(再度Stringに入れなおす?)
それに、"12345"という文字列が入力されたとき、
src[]には '1' '2' '3' '4' '5' と入ることになるので、
'1'と'2'を対象にすることになるけど、いいのかなあ?
ってことも思いました。
って事で再考を。
一番最初に何も考えずに一気にコーディングしたのがマズかったです。
PED02744さんの整理しましょうの一言で分かりました。
再考し、無事にプログラムを作成する事ができました。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- C言語・C++・C# C#テキストボックスの文字を配列にいれてその後表示する 4 2022/07/17 04:47
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Excel(エクセル) エクセルVBA、間違っているコード内容を正して頂けませんか? エクセルワークシートに納品書を作ったの 2 2023/08/02 21:13
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- Visual Basic(VBA) Excel VBAの解読について質問があります。 概要は、マクロでチェックボックスにチェックすると日 1 2023/02/10 07:50
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- Gmail 【お助け!】サーバーからのメール送信でGmailに送信されない問題について 1 2023/06/20 22:03
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java
-
C言語でunsigned char配列を連...
-
[Ljava.lang.Stringってなんですか
-
エラーのStackTraceをString変...
-
java 乱数を並べて重複させない...
-
Javaの配列の中身の並び替え
-
JAVAで配列の要素に、負の値が...
-
Java 配列に1から25以外の値が...
-
配列の中に複数存在する数がい...
-
MAPの配列・・・???!!!
-
このPGの良い使い方を教えて下...
-
サーブレットで複数値の受取り
-
Vectorクラスの使い方
-
「シンボルを見つけれません」...
-
ArrayListからBean配列に値をセ...
-
javaで素数を探すプログラム。
-
プログラミングの問題です。大...
-
Visual Basic でのコードをASCI...
-
マージソートについて
-
【struts】 ActionFormで別のAc...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
n番目に大きな値を探索する
-
この警告はどうすれば?
-
[Ljava.lang.Stringってなんですか
-
Javaで文字を漢字であるか否か...
-
配列をセッションに割り当てた後で
-
配列の中に複数存在する数がい...
-
java
-
Javaで文字と数字が混ざったも...
-
C#で動的配列Listの中身をListB...
-
配列で、値の入っている要素数...
-
『args[]』とは?
-
【C#】ハッシュテーブル(連想...
-
ページング
-
セッションを使ったint型の値の...
-
配列について
-
同じ配列またはクラスを、2回...
-
ArrayListからBean配列に値をセ...
-
Java配列の問題を教えてくださ...
-
java 大文字と小文字を入れ替える
-
同じ文字を探しカウントしたい
おすすめ情報