
public class AAA{
public static void main(String args[]){
System.out.println("チェック開始");
int ContainerA,ContainerB,ContainerC;
String PP = "Sweets";
if (args[0].length() != 1 ){ // 引数の数が1以外の場合
{
ContainerA = 1; // 1をエラーコードに設定
}
else if(!args[0].equalsIgnoreCase("cake")
&& !args[0].equalsIgnoreCase("manjyu")) //引数が CAKE でも MANJYU でもない場合(大/小文字区別せず)
{
ContainerC = 99; // 99をエラーコードに設定
}
else // それ以外の場合
{
ContainerB = 0; // 0をエラーコードに設定
}
} else if(ContainerB == 0){ // もしエラーコードが0の場合
{
System.out.println(PP + "?"); //("商品名+?")を表示
}
if(ContainerA == 1) // エラーコードが1の場合
{
System.out.println("プログラム終了");
} else if(ContainerC == 99){ // エラーコードが99の場合
System.out.println("プログラム終了");
}
} else{ //それ以外の場合(正常終了処理)
System.out.println("正常終了");
}
}
}
上記のソースはコンパイルできないのですが、どこがおかしいのでしょうか?
また、条件分岐が ifやelseしか使い方がよくわからないので、他のよい方法がありましたら教えてください。
No.1ベストアンサー
- 回答日時:
・ 全角スペースは、プログラムの中で半角スペースとして使ってはいけません。
・ 変数は、初期化するか必ず値が設定されるように、プログラムを組む必要があります。
public class AAA {
public static void main(String args[]) {
System.out.println("チェック開始");
int ContainerA = -1, ContainerB = -1, ContainerC = -1;
String PP = "Sweets";
if (args[0].length() != 1) { // 引数の数が1以外の場合
ContainerA = 1; // 1をエラーコードに設定
} else if (!args[0].equalsIgnoreCase("cake")
&& !args[0].equalsIgnoreCase("manjyu")) // 引数が CAKE でも MANJYU
// でもない場合(大/小文字区別せず)
{
ContainerC = 99; // 99をエラーコードに設定
} else // それ以外の場合
{
ContainerB = 0; // 0をエラーコードに設定
}
if (ContainerB == 0) { // もしエラーコードが0の場合
{
System.out.println(PP + "?"); // ("商品名+?")を表示
}
if (ContainerA == 1) // エラーコードが1の場合
{
System.out.println("プログラム終了");
} else if (ContainerC == 99) { // エラーコードが99の場合
System.out.println("プログラム終了");
}
} else { // それ以外の場合(正常終了処理)
System.out.println("正常終了");
}
}
}
この回答への補足
ありがとうございます。
コンパイルはできるようになりましたが、
実行の時、引数に何をいれてもエラーにならず、正常終了になってしまいます。
どうすればよいのでしょう?
No.3
- 回答日時:
以下のコードを参考にしてみてください。
------------------------------------------------------------
public class AAA {
public static void main(String args[]) {
System.out.println("チェック開始");
int errorCode = -1;
String PP = "Sweets";
if (args.length != 1) { // 引数の数が1以外の場合
errorCode = 1; // 1をエラーコードに設定
} else if (!args[0].equalsIgnoreCase("cake")
&& !args[0].equalsIgnoreCase("manjyu")) {
errorCode = 99; // 99をエラーコードに設定
} else {
errorCode = 0; // 0をエラーコードに設定
}
if (errorCode == 0) {
System.out.println(PP + "?"); // ("商品名+?")を表示
System.out.println("プログラム終了");
} else { // それ以外の場合(正常終了処理)
System.out.println("正常終了");
}
}
}
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPの構文で間違えが分からない 5 2022/07/11 16:38
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- Visual Basic(VBA) VBAの繰り返し処理について教えてください。 3 2022/08/02 13:21
- Ruby vscode 文字化け 1 2022/05/21 19:17
- C言語・C++・C# c言語 プログラムのエラー 1 2023/02/11 20:31
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
[JAVA]try 内の変数を外で!?
-
EclipseでJava
-
「続行するには何かキーを押し...
-
文字列のエラーチェック
-
javaじゃんけんゲーの質問
-
eclipse,mysql,javaエラー
-
Javaの引数を使ってチェックし...
-
JAVAの初心者です。
-
サーブレットについて
-
有効数字以下を四捨五入(Java)
-
文字列の引き算
-
JDBCでのinsertについて
-
会員情報登録プログラムの作成...
-
Scanner と BufferedReader
-
複数行キーボード入力した後に...
-
構文解析中にファイルの終わり...
-
jspでHTMLの配色を変数に代...
-
JAVAのDouble型の小数点以下の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語のポインターに関する警告
-
JSPやサーブレットでSystem.out...
-
EclipseでJava
-
[JAVA]try 内の変数を外で!?
-
JAVAのDouble型の小数点以下の...
-
文字列の引き算
-
「続行するには何かキーを押し...
-
会員情報登録プログラムの作成...
-
Javaのコマンドライン引数を使...
-
java プログラミングについて
-
Javaでカレントディレクトリを...
-
複数行キーボード入力した後に...
-
JAVA 文字色変更
-
エクセルマクロ文で、赤文字セ...
-
配列を後ろから数えるには?
-
java シンボルが見つかりません...
-
改行の判定方法
-
JAVAのエラーの意味が分かりま...
-
JAVA 三角形の判定
-
nullcline
おすすめ情報