私はreturn文について知っており、試してみました。 System.exit(0)も同じです。しかし、ここでそれを使用すると、プログラムが終了します。ユーザーが1-7以外の入力を入力した場合、プログラムが終了せず、プログラムを再コンパイルして再実行する必要がないように、使用できる方法はありますか?それともJavaではできませんか?プログラムを終了せずにmainメソッドを終了することはできますか?
import java.util.Scanner;
public class NewShoppingCart{
public static void main(String args[]) {
boolean flag = true;
long code;
String choice;
NewShop aShop = new NewShop();
Scanner sc = new Scanner(System.in);
Integer parse = 0;
System.out.println("-----ITEM------");
do {
System.out.println("1. Display all items");
System.out.println("2. Search items");
System.out.println("3. Add items to list");
System.out.println("4. Add items to cart");
System.out.println("5. Display cart");
System.out.println("6. Issue item");
System.out.println("7. Exit");
System.out.println("Choice:");
choice = sc.nextLine();
try{
parse = Integer.parseInt(choice);
}
catch(Exception e){
System.out.println("Please enter a valid integer");
return;
}
if (parse >=1 && parse <= 7)
{
switch (parse) {
case 1:
aShop.display();
break;
case 2:
aShop.searchItem();
break;
case 3:
aShop.addItem();
break;
case 4:
aShop.addItemtoCart();
break;
case 5:
aShop.displayCart();
break;
case 6:
aShop.issueItem();
break;
case 7:
System.out.println("Thank you!\n");
flag = false;
break;
default :
System.out.println("Please enter choice relevant to context");
}
}
else return;
}
while (flag != false);
sc.close();
}
}
nop、これはアプリケーションの主要な入口です...一度そのメソッドを返すと、アプリケーションはなくなりました! –
例外を記録するだけで、そこから戻ってこないwhileループは続行され、もう一度入力を要求します – Sikorski
プログラムを終了するときにプログラムを再コンパイルする必要はありません。プログラムがそれ自体を削除しない限り。 – Kayaman