• 締切済み

エラーが出ます

エラーが出ますがどこを直したらいいかわかりません。 できれば手直しお願い致します。 import java.io.*; import java.util.*; pubic class A23_exec { public static void main(String args[]) { try { A23_StrArray strAry = new A23_StrArray(); while(true) { //処理Noの入力を促す System.out.println("----------処理No?----------"); String inputData = input(); //終了処理 if(inputData.equals("99")) { System.out.println("終了"); break; } //追加(ADD)処理 else if(inputData.equals("01")) { System.out.println("追加内容?"); inputData = input();//コマンドラインからの入力 strAry.add(inputData); } //上書き処理 else if(inputData.equals("02")) { System.out.println("上書き内容?"); inputData = input();//コマンドラインからの入力 strAry.set(1, inputData); System.out.println(strAry.toString()); } //要素の取得処理 else if(inputData.equals("03")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 System.out.println(strAry.get(1)); } //要素のクリア処理 else if(inputData.equals("04")) { System.out.println("クリア"); inputData = input();//コマンドラインからの入力 strAry.clear(); } //全ての要素の配列処理 else if(inputData.equals("05")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 System.out.println(strAry.getAll()); } //要素数の取得 else if(inputData.equals("06")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 System.out.println(strAry.getIndex()); } //昇順処理 else if(inputData.equals("07")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.sort(strAry.ASC_SORT); } //降順処理 else if(inputData.equals("08")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.sort(strAry.DESC_SORT); } //読み込み処理 else if(inputData.equals("09")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.readFile(inputData); } //読み込みの追記処理 else if(inputData.equals("10")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.readFile(inputData); } //読み込み上書き処理 else if(inputData.equals("11")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.readFile(inputData, true); } //書き込み処理 else if(inputData.equals("12")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.writeFile(inputData, false); } //書き込みの追記処理 else if(inputData.equals("13")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.writeFile(inputData, true); } //書き込みの上書き処理 else if(inputData.equals("14")) { System.out.println("取得内容?"); inputData = input();//コマンドラインからの入力 strAry.writeFile(inputData, false); } } } catch(Exception e) { System.out.println("e"); } } /** * コマンドラインからの入力を受け取り、文字列として戻す * @param:indexインデックス * @return:取得した要素 */ private static String input() { //入力用オブジェクト BufferedReader cinBuff = new BufferedReader(new InputStreamReader(System.in)); //コンソールからの文字入力 try { //入力用オブジェクトが文字入力を受付、それをStringクラスに代入 return cinBuff.readLine(); } catch(IOException e) { System.out.println("IOExceptionエラー発生!!"); } } }

  • Java
  • 回答数3
  • ありがとう数0

みんなの回答

  • PED02744
  • ベストアンサー率40% (157/390)
回答No.3

このプログラムはあなたが作ったのではないのでしょうか? 作った人にわからないものは、他の人にもわからないとしかいえないんですが。 極端に言うと 「実はこのプログラムは1+1の結果を出すためのもののつもりでこんなプログラムをあなたが作ってしまったのかもしれない。 が、他の人にはそれはわからない」 ということです。 ・これはどういう目的のつもりで作ったプログラムなのか? ・部分部分にコメントを。「ここではこういうことをしているつもりである」事がわかるように それがわからないと、答えようが無いです。

  • momozange
  • ベストアンサー率67% (21/31)
回答No.2

致命的 01) L3: タイプミスをなくしましょう。 02) L132: メソッドの戻り値は宣言通りに返却しましょう。 警告 01) L124: 例外を握り潰すのはやめましょう。 02) L135: Streamインスタンスはcloseする習慣をつけましょう。 03) L144: 例外を握り潰すのはやめましょう。 推奨 01) L1: importに*を使用するのは避けましょう。 02) L9: A23_StrArrayクラスは他の用途がないならば内部クラスを検討しましょう。 03) L16: if文には理由がない限り対応するelseブロックを記述しましょう。 04) L124: 例外メッセージは正確に出力しましょう。 05) L144: 例外メッセージは正確に出力しましょう。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

>javac A23_exec.java A23_exec.java:3: 'class' または 'interface' がありません。 pubic class A23_exec ^ エラー 1 個 いくらなんでもこれはひどすぎ。 何かの理由で public → pubic とtypoしたとしても >javac A23_exec.java A23_exec.java:9: シンボルを見つけられません。 シンボル: クラス A23_StrArray 場所 : A23_exec の クラス A23_StrArray strAry = new A23_StrArray(); ^ A23_exec.java:9: シンボルを見つけられません。 シンボル: クラス A23_StrArray 場所 : A23_exec の クラス A23_StrArray strAry = new A23_StrArray(); ^ あなた以外の誰が A23_StrArrayとやらをわかるのですか?

関連するQ&A

  • Javaの課題について質問です。パート(2)

    import java.io.Console; public class A23_exec { public static void main(String args[]){ try{ A23_StrArray list = new A23_StrArray(); System.out.println("-------------------------------処理メニュー-------------------------------"); System.out.println("| 01・・・要素を追加 02・・・指定のインデックスの要素を上書き|"); System.out.println("| 03・・・指定インデックスの要素を表示 04・・・全ての要素を削除 |"); System.out.println("| 05・・・全ての要素を表示 06・・・全てのインデックス数を表示 |"); System.out.println("| 07・・・全ての要素を昇順でソート 08・・・全ての要素を降順でソート |"); System.out.println("| 09・・・ファイルの読込み 10・・・ファイルを追記して読込み |"); System.out.println("| 11・・・ファイルを上書きして読込み 12・・・ファイルに書込み |"); System.out.println("| 13・・・ファイルに追記して書込み 14・・・ファイルに上書き書込み |"); System.out.println("| 99・・・処理を終了 |"); System.out.println("--------------------------------------------------------------------------"); System.out.println(" ※処理メニュー以外のNoを入力しても処理出来ませんので注意して下さい。"); System.out.println(" ※全て半角英数字で入力して下さい。"); System.out.println(" ↓処理Noを入力して下さい。↓"); while(true){ System.out.println("-----処理No-----"); String inputData = input(); if(inputData.equals("99")){ System.out.println("終了"); System.exit(0); break ; } else if(inputData.equals("01")){ System.out.println("要素追加"); inputData = input(); list.add(inputData); } else if(inputData.equals("02")){ System.out.println("指定インデックスの要素の上書き"); inputData = input(); list.set(0,inputData); System.out.println(list.toString()); } else if(inputData.equals("03")){ System.out.println("指定インデックスの要素を表示"); inputData = input(); System.out.println(list.get(0)); } else if(inputData.equals("04")){ System.out.println("全ての要素を削除"); list.clear(); } else if(inputData.equals("05")){ System.out.println("全ての要素を表示"); list.getAll(); System.out.println(list.getAll()); } else if(inputData.equals("06")){ System.out.println("全てのインデックス数を表示"); int item =list.getIndex(); System.out.println(item); } else if(inputData.equals("07")){ System.out.println("全ての要素を昇順でソート"); list.sort(list.ASC_SORT); for(int i = 0;i < list.getIndex(); i++){ System.out.println(list.get(i)); } } else if(inputData.equals("08")){ System.out.println("全ての要素を降順でソート"); inputData = input(); list.sort(list.DESC_SORT); for(int i = 0;i < list.getIndex(); i++){ System.out.println(list.get(i)); } } else if(inputData.equals("09")){ System.out.println("ファイルの読み込み"); inputData = input(); list.readFile(inputData); } else if(inputData.equals("10")){ System.out.println("ファイルを追記して読み込み"); inputData = input(); list.readFile(inputData,true); } else if(inputData.equals("11")){ System.out.println("ファイルを上書きして読み込み"); inputData = input(); list.readFile(inputData,false); } else if(inputData.equals("12")){ System.out.println("ファイルに書き込み"); inputData = input(); list.writeFile(inputData); } else if(inputData.equals("13")){ System.out.println("ファイルに追記して書き込み"); inputData = input(); list.writeFile(inputData,true); } else if(inputData.equals("14")){ System.out.println("ファイルに上書きして読み込み"); inputData = input(); list.writeFile(inputData,false); } else{ System.out.println("処理Noが違います。"); } } }catch(Exception e){ System.out.println(e); } } private static String input(){ try{ Console cns = System.console(); //String input= cns.readLine(); return cns.readLine(); } catch(Exception e){ System.out.println(e); return ""; } } } 宜しくお願い致します。

  • プログラミング(JAVA)について

    2つほど質問があります。どなたか回答していただける方がいたらお願いします。 1、以下のじゃんけんゲームのプログラムを作成したのですがfor文を用いてコードを短くするにはどうすればいいですか?      class jyanken { public static void main(String[] args) { int x = 0, y = 0; if (args[0].equals("グー")) { x = 0; } else if (args[0].equals("チョキ")) { x = 1; } else if (args[0].equals("パー")) { x = 2; } else { System.out.println("エラー"); } y = (int)(Math.random() * 10.0) % 3; if (x == 0) { if (y == 0) { System.out.println("あいこ"); } else if (y == 1) { System.out.println("勝ち"); } else if (y == 2) { System.out.println("負け"); } } else if (x == 1) { if (y == 1) { System.out.println("あいこ"); } else if (y == 2) { System.out.println("勝ち"); } else if (y == 0) { System.out.println("負け"); } } else if (x == 2) { if (y == 2) { System.out.println("あいこ"); } else if (y == 0) { System.out.println("勝ち"); } else if (y == 1) { System.out.println("負け"); } } } } 2、もう1パターンでじゃんけんプログラムを作成しようと考えているのですが。上手くできないので参考のファイルを掲示してもらえると嬉しいです。 機能としては、for文とif文を使用して。プログラムの起動と同時に、コンピュータがグー、チョキ、パーをランダムに出す(プレーヤに見せない) 次に人がグー、チョキ、パー何を出すかをキーボードで入力して最後にプログラムが出したものとコンピュータがランダムに出したものと比較し、勝負を表示する。といった感じです。

  • javaのプログラムの質問です。

    10件まで登録できる簡易メモリストを作成して下さい 実行例: > java MemoList > コマンドを入力して下さい:list 1:俺達がガンダムだ! 2:ザクとは違うのだよザクとは! 3:当たらなければどうという事はない! コマンド list メモリストを1~の番号と共に表示 add メモを追加 del メモ番号を入力して削除 upd メモ番号を入力して上書き save ファイルに保存 h コマンド一覧を表示 q 終了 注意点 ・プログラム起動時にファイルからメモリストを読み込んで下さい ・保存するファイルは任意の固定ファイルで構いません ・メモは1~の連番で10件まで登録可能として下さい ・終了のコマンドが入力されるまで何度でもコマンド入力可能として下さい ・JavaDoc/プログラムコメントはしっかり記述して下さい ・エラー発生時は適切なメッセージを標準出力に出力して下さい という問題なのですが、以下のソースでとりあえずは動くのですが。 import java.io.File; import java.io.FileReader; import java.io.FileWriter; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; import java.util.ArrayList; class MemoList{ /** * メインメソッド **/ public static void main(String[] args) throws IOException { // Fileクラスのインスタンス化 File file1 = new File("C:\\WORK\\Memo.txt"); // FileReaderクラスのインスタンス化 FileReader filereader = new FileReader(file1); // FileWriterクラスのインスタンス化 FileWriter filewriter = new FileWriter(file1); // BufferedReader&InputStreamReaderクラスのインスタンス化 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ArrayList <String> arraylist = new ArrayList<String>(); int num = 1; // while文ループを行う while(true){ System.out.println("> コマンドを入力して下さい:"); String str1 = br.readLine(); if("list".equals(str1)){    for(int i=0; i < arraylist.size(); i++){      System.out.println(i + 1 + ":" + arraylist.get(i));    } } else if("add".equals(str1)){ System.out.println("> メモを入力して下さい。"); if(arraylist.size() == 10){    System.out.println("> 10件登録されています。追加する場合は削除して下さい。");    delete(br,arraylist); }else{ String str2 = br.readLine(); arraylist.add(str2); } }else if("del".equals(str1)){ delete(br,arraylist); }else if("upd".equals(str1)){ System.out.println("> 上書きするメモ番号を入力して下さい。"); try{   String str4 = br.readLine();   int num2 = Integer.parseInt(str4);   System.out.println("> 上書きする内容を入力して下さい。");    String str5 = br.readLine();   arraylist.set(num2 - 1,str5); }catch(NumberFormatException e){ System.out.println("正しい番号を入力して下さい"); }catch(IndexOutOfBoundsException e){ System.out.println("正しい番号が入力されていないので上書き出来ません"); } (1)}else if("save".equals(str1)){ try{ for(int j=0; j < arraylist.size(); j++){ filewriter.write(arraylist.get(j) + "\r\n"); } System.out.println(">ファイルに保存しました。"); filewriter.close(); }catch(IOException e){ (2) System.out.println("ファイルに保存出来ません"); (3) } }else if("h".equals(str1)){ System.out.println("list:メモリストを1~の番号と共に表示"); System.out.println("add:メモを追加"); System.out.println("del:メモ番号を入力して削除"); System.out.println("upd:メモ番号を入力して上書き"); System.out.println("save:ファイルに保存"); }else if("q".equals(str1)){    System.out.println("> Terminated");    break; } } } // deleteメソッド public static void delete(BufferedReader br,ArrayList<String> arraylist) throws IOException { try{   System.out.println("削除するメモ番号を入力して下さい");   String str3 = br.readLine();   int num3 = Integer.parseInt(str3);   arraylist.remove(num3 - 1); }catch(IndexOutOfBoundsException e){     System.out.println("正しい番号を入力して下さい"); }catch(NumberFormatException e){    System.out.println("正しい番号以外は受け付けません"); } } } 読みにくいのはご容赦ください。 (1)と(3)の間の処理なのですが、現在のソースで実行した場合、適当に「add」でメモを書き、最初に「save」コマンドを入力するとちゃんとWORKフォルダ内に作成した「Memo.txt」に保存されます。しかし、2回目以降、コマンドを入力して処理を行い、saveコマンド入力すると、例外処理となり(2)が表示され、以降はどのコマンド処理をしても(2)が表示され続けるという具合になってしまいます。どなたか教えていただけないでしょうか?よろしくお願い致します。 通報する

    • ベストアンサー
    • Java
  • コマンドプロンプトでひらがなの入力が出来ません。

    普段グーグル日本語入力を使っています。 OS XPsp2 import java.io.*; class Mojiretuate { public static void main(String[] args) throws IOException { String str = "こんにちは"; String str2; BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("文字列当てゲームです。"); System.out.println("答えは何かのあいさつです。"); for(;;){ System.out.println("\n入力"); str2 = br.readLine(); System.out.println("入力文字列の長さ:" + str2.length()); if(str.equals(str2)){ System.out.println("正解です"); break; } else if(str2.length() > str.length()){ System.out.println("長すぎます。"); } else if(str2.length() == str.length()){ System.out.println("長さはあっています。"); } else{ System.out.println("短すぎます。"); } } System.out.println("終了"); } }

    • ベストアンサー
    • Java
  • TCPでメッセージの送受信

    TCP/IPでメッセージの送受信をしようとしています。 「サーバ側から特定(5つ)のコマンドのいづれかを送信する。 クライアント側で受信し、正しいコマンドが受信できたか判断をし その結果(OKかNGか)をサーバ側に送信する」 というプログラムです。正しいコマンドが受信できたか判断をする箇所が 思うようにいきません。 アドバイスお願いします。 ◎サーバ側 import java.io.*; import java.net.*; public class UMLServer { public static void main(String[] args) throws IOException { // 引数の数が正しいかどうかを調べる if (args.length != 2) throw new IllegalArgumentException("Parameter(s): <Server> <Port>"); String command = null; // コマンド名 String server = args[0]; // サーバ名またはIPアドレス // ポート番号が指定されていない場合は、ポート番号を7にする int servPort = (args.length == 2) ? Integer.parseInt(args[1]) : 7; // データ入力の準備。入力されたバイト数が使えるようにバッファリングされた文字列ストリームを作成する BufferedReader input = new BufferedReader (new InputStreamReader(System.in), 1); for (;;) { System.out.print("送信するコマンドを入力してください>>"); command = input.readLine(); // コマンド(文字列)の入力 System.out.println("入力したものは" + command); // 正しいコマンドが入力されたかの確認 if (command.equals("put") == true){ break; }else if(command.equals("active") == true){ break; }else if(command.equals("control") == true){ break; }else if(command.equals("join") == true){ break; }else if(command.equals("cut") == true){ break; }else{ System.out.println("正しいコマンドを入力してください"); } } // サーバの指定されたポートに接続するソケットを作成する Socket socket = new Socket(server, servPort); System.out.println("クライアントが正常に受信できたか確認しています…"); // 入力されたコマンド(文字列)をバイトに変換する byte[] byteBuffer = command.getBytes(); InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); out.write(byteBuffer); // エンコードされた文字列をサーバに送信する int ch[] = new int[2]; // 正しいコマンドが受信されたかの確認 String answer[] = new String[2]; for(int i = 0; i < 2; i++){ ch[i] = in.read(); //answer[i] = Integer.toString(ch[i]); byte[] bytes = {(byte) ch[i]}; answer[i] = new String(bytes); if(ch[i] == -1){ break; } } System.out.println(answer[0] + answer[1]); if(answer.equals("OK") == true){ System.out.println("正しくコマンドが受信されました"); }else{ System.out.println("正しくコマンドが受信できませんでした。再送してください。"); } // サーバから同じ文字列を受信する //int totalBytesRcvd = 0; // ここまでに受信した合計バイト数 //int bytesRcvd; // 前回の読み込みで受信したバイト数 //while (totalBytesRcvd < byteBuffer.length){ //if ((bytesRcvd = in.read(byteBuffer, 0, 2)) == -1) //throw new SocketException("Connection closed prematurely"); //totalBytesRcvd += bytesRcvd; //} //System.out.println("Received: " + new String(byteBuffer)); socket.close(); // ソケットとストリームをクローズする } } クライアント側と実行結果は以下の回答欄にのせます。

  • 環境でeval()が利用できません

    3×3の簡易エクセルをjavaで作っているところです。 各セルにキーボードから入力された数値を表示するところまではできました。しかし、Data: と表示するところで、A1+A2などを入力すると、 エラーが出ます。 Row:A Line:1 Data:2 Row:A Line:2 Data:4 と入力しているとき Row:A Line:3 Data:A1+A2 と入力された際、 2 4 6 と表示させたいです。どう改良すればいいでしょうか? for(roop=0;roop<=8;roop++) { System.out.print("Row:"); try { Row_before = br.readLine(); } catch(IOException e) { System.err.println(e); } if(Row_before.equals("A")||Row_before.equals("B")||Row_before.equals("C")) { Row[roop] = Row_before;Row_before=""; } else {Row_before="";} System.out.print("Line:"); try { Line_before = br.readLine(); } catch(IOException e) { System.err.println(e); } if(Line_before.equals("1")||Line_before.equals("2")||Line_before.equals("3")) {Line[roop] = Line_before;Line_before="";} else {Line_before="";} System.out.println("Data:"); //A1に数値を入力 if(Row[roop].equals("A")&&Line[roop].equals("1")) { try { A1_string = br.readLine(); } catch(IOException e) { System.err.println(e); } A1 = Integer.parseInt(A1_string); System.out.println(""+A1_string); } //以下同様の動き if(Row[roop].equals("A")&&Line[roop].equals("2")) {try{A2_string = br.readLine();}catch(IOException e){System.err.println(e);}A2 = Integer.parseInt(A2_string);} if(Row[roop].equals("A")&&Line[roop].equals("3")) {try{A3_string = br.readLine();}catch(IOException e){System.err.println(e);}A3 = Integer.parseInt(A3_string);} if(Row[roop].equals("B")&&Line[roop].equals("1")) {try{B1_string = br.readLine();}catch(IOException e){System.err.println(e);}B1 = Integer.parseInt(B1_string);} if(Row[roop].equals("B")&&Line[roop].equals("2")) {try{B2_string = br.readLine();}catch(IOException e){System.err.println(e);}B2 = Integer.parseInt(B2_string);} if(Row[roop].equals("B")&&Line[roop].equals("3")) {try{B3_string = br.readLine();}catch(IOException e){System.err.println(e);}B3 = Integer.parseInt(B3_string);} if(Row[roop].equals("C")&&Line[roop].equals("1")) {try{C1_string = br.readLine();}catch(IOException e){System.err.println(e);}C1 = Integer.parseInt(C1_string);} if(Row[roop].equals("C")&&Line[roop].equals("2")) {try{C2_string = br.readLine();}catch(IOException e){System.err.println(e);}C2 = Integer.parseInt(C2_string);} if(Row[roop].equals("C")&&Line[roop].equals("3")) {try{C3_string = br.readLine();}catch(IOException e){System.err.println(e);}C3 = Integer.parseInt(C3_string);} System.out.println(""); }

  • 教えてください。。。

    コマンドライン引数を2個 入力したときに加算されるプログラムを作成中なのですが、桁が大きい場合と文字を入力した場合が同じエラー処理になります。 別々に分けるエラー処理を教えて頂きたいと思います。 あと、引数一つの時もエラーになる処理をご教授お願いします。 public class Sample20 { public static void main(String[] argv) { if(argv.length>=2) { int a,b; try { if(argv[0].indexOf(".") == -1 && argv[1].indexOf(".") == -1) { try { a=Integer.parseInt(argv[0].replaceAll("\\+" , "")); b=Integer.parseInt(argv[1].replaceAll("\\+" , "")); System.out.println(a+b); } catch(NumberFormatException e) { System.out.println("整数の桁がおおき過ぎます"); } } else { System.out.println("小数点は整数ではないので実行できません"); } } catch(Exception e) { System.out.println ("エラー:2個整数のみ入力して下さい"); } } else { System.out.println("エラー:整数ではありません。"); } } }

  • 構文がエラーになる

    Exception in thread"main"java.lang.NoClassDefFoundError という文章でエラーになります。 import java.io.*; class Sample34 { public static void main (String args[])throws IOException { System.out.println("整数を入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int res = Integer.parseInt(str); if(res == 1){ System.out.println("1が入力されました。"); } else if(res == 2){ System.out.println("2が入力されました。"); } else{ System.out.println("1か2を入力してください。"); } } }

  • ジャヴァ基礎問題

    import java.io.*; public class Email11 { public static void main(String[] argv) throws Exception { String input = "fileContainingEmails.txt"; String output = "copyPasteMyEmails.txt"; BufferedReader cin; cin = new BufferedReader(new InputStreamReader(System.in)); String userInput; System.out.println("Enter input file name [default name: fileContainingEmails.txt]"); userInput = cin.readLine(); if (userInput.equals("")) userInput = input; String name; if (userInput.equals("")) name = output; else name = input; String userOutput; System.out.println("Enter output file name [default name: " + name + " ]"); userOutput = cin.readLine(); if (userOutput.equals("")) userOutput = name; System.out.println("Input FIle : " + userInput); System.out.println("Output FIle : " + userOutput); } } このプログラムでユーザーがインプットファイル名を入力した場合そのファイル名がアウトプットファイルのデフォルトになるという形にしたいのですがどこが間違っていますか? ユーザーがデフォルトのインプットファイル名を選んだ場合デフォルトのアウトプットファイル名が適応されます。

  • 研修生です。

    class dentaku{ public static void main(String args[]){ int val1 = 0; int val2 = 0; String ope; int kekka; if (args.length != 3){ System.out.println("引数は3個入力して下さい"); System.exit(0); } try{ val1 = Integer.parseInt(args[0]); val2 = Integer.parseInt(args[2]); }catch(NumberFormatException e){ System.out.println("数値でない値が入力されています"); System.exit(0); } ope = args[1]; String opeStr[] = {"kake", "waru", "tasu", "hiku"}; boolean errFlag = true; for (int i = 0 ; i < 4 ; i++){ if (ope.equals(opeStr[i])){ errFlag = false; } } if (errFlag == true){ System.out.println("演算子は kake waru tasu hiku の4つです"); System.exit(0); } if (ope.equals("kake")){ kekka = val1 * val2; }else if (ope.equals("tasu")){ kekka = val1 + val2; }else if (ope.equals("hiku")){ kekka = val1 - val2; }else{ if (val2 == 0){ System.out.println("0で割ろうとしています。"); System.exit(0); } kekka = val1 / val2; } System.out.println("入力された式は " + val1 + " " + ope + " " + val2 + " です"); System.out.println("計算結果は " + kekka + " です"); } }  上記のプログラムを全行網羅するために、引数のパターンを洗い出して表にしたいのです。 どうすればいいのですか?

専門家に質問してみよう