gpt4 book ai didi

java - 变量可能尚未在 java 中初始化

转载 作者:行者123 更新时间:2023-12-02 07:10:27 25 4
gpt4 key购买 nike

import java.util.Scanner;
import java.util.InputMismatchException;
public class Demo
{
public static void main(String [] agrs){
Scanner keyBoard = new Scanner(System.in);
int input;
do{
System.out.println("[ 1] Case 1.");
System.out.println("[ 2] Case 2.");
System.out.println("[ 3] Case 3.");
System.out.println("[ 0] Case 0.");
System.out.print("Your Choice: ");

try{
input = keyBoard.nextInt();
}
catch(InputMismatchException e){
System.out.println("Error");
}

switch (input){
default:
System.out.println("Default");
break;
case 1:
System.out.println("One");
keyBoard.next();
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
case 0:
System.exit(0);
break;
}
}
while(input != 0);
}

我想在控制台中创建一个菜单,但出现错误。错误:变量输入可能尚未初始化。我知道为什么我会犯这个错误,但我不知道如何解决它。我只懂一点英语,所以我希望修改我的主题以适应更多内容谢谢大家

最佳答案

这应该可以解决无限循环和无效输入以及编译器错误的问题:

import java.util.Scanner;
import java.util.InputMismatchException;

public class Demo {

public static void main(String[] agrs) {

Scanner keyBoard = new Scanner(System.in);
// This fixes the compiler error!
int input = -1;

do {
System.out.println("[ 1] Case 1.");
System.out.println("[ 2] Case 2.");
System.out.println("[ 3] Case 3.");
System.out.println("[ 0] Case 0.");
System.out.print("Your Choice: ");

try {
input = keyBoard.nextInt();
} catch (InputMismatchException e) {
// This fixes the endless loops on invalid inputs!
System.out.println("Invalid input " + keyBoard.next());
input = -1;
}

switch (input) {
default:
System.out.println("Default");
break;
case 1:
System.out.println("One");
keyBoard.next();
break;
case 2:
System.out.println("Two");
break;
case 3:
System.out.println("Three");
break;
case 0:
System.exit(0);
break;
}
} while (input != 0);
}
}

关于java - 变量可能尚未在 java 中初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15595259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com