一个java程序,它将显示一个菜单来选择要执行的操作
有人能帮忙解决这个问题吗?我正在制作一个java程序,它将显示一组选项,这些选项将由用户使用java方法运行所选的程序。如何初始化变量?我已经在错误所在的位置添加了注释。这是节目单一个java程序,它将显示一个菜单来选择要执行的操作,java,methods,Java,Methods,有人能帮忙解决这个问题吗?我正在制作一个java程序,它将显示一组选项,这些选项将由用户使用java方法运行所选的程序。如何初始化变量?我已经在错误所在的位置添加了注释。这是节目单 public static void main(String[] args) { performProgram(); chooseNumber(); } public static void performProgram(){ int number; Scanner pj= new Scanner(Syst
public static void main(String[] args) {
performProgram();
chooseNumber();
}
public static void performProgram(){
int number;
Scanner pj= new Scanner(System.in);
System.out.println("Please select a number that indicates what the program will perform");
chooseOption();
System.out.print("Enter the number of your choice: ");
number=pj.nextInt();
}
public static void chooseOption(){
System.out.println("1. Display the factors of a number");
System.out.println("2. Display whether a number is odd or even");
System.out.println("3. Display whether a number is a perfect number or not");
System.out.println("4. Display the elements of an array in ascending order");
System.out.println("5. Display the sum of odd elements in the array");
}
public static void chooseNumber(){
int number;
//Error: variable might have not been initialized
if(number == 1)
getFactors();
if(number == 2)
displayOddEven();
}
public static void getFactors(){
Scanner rz= new Scanner(System.in);
System.out.print("Enter a number: ");
int number=rz.nextInt();
System.out.print("The factors of" + number + " are: ");
for(int i=1; i<=number; i++){
if (number % i == 0){
System.out.print(i + " ");
}
}
}
public static void displayOddEven(){
Scanner gd= new Scanner (System.in);
System.out.print("Enter a number: ");
int number=gd.nextInt();
if(number % 2 == 0)
System.out.print(number + "is an even number.");
else
System.out.print(number + "is an odd number.");
}
publicstaticvoidmain(字符串[]args){
性能程序();
选择编号();
}
公共静态无效性能程序(){
整数;
扫描器pj=新扫描器(System.in);
System.out.println(“请选择一个指示程序将执行什么的数字”);
选择选项();
System.out.print(“输入您选择的号码:”);
number=pj.nextInt();
}
公共静态void chooseOption(){
System.out.println(“1.显示数字的系数”);
System.out.println(“2.显示一个数字是奇数还是偶数”);
System.out.println(“3.显示一个数字是否是一个完美的数字”);
System.out.println(“4.按升序显示数组的元素”);
System.out.println(“5.显示数组中奇数元素的总和”);
}
公共静态无效选项编号(){
整数;
//错误:变量可能尚未初始化
如果(数字==1)
getFactors();
如果(数字==2)
显示偶数();
}
公共静态无效因子(){
扫描仪rz=新扫描仪(System.in);
System.out.print(“输入一个数字:”);
int number=rz.nextInt();
系统输出打印(“+number+”的因子为:”);
对于(inti=1;i,从第一个方法获得数值,返回该值并将其作为参数传递给第二个方法。
在您现在的实现中,第二个方法不知道用户输入了什么值。在Java中,当您创建一个局部变量时,您必须初始化它们,即给它们一个值。局部变量没有默认值。这就是为什么您在chooseNumber方法中看到这个错误
要使代码正常工作,这是编写程序的方法之一:
publicstaticvoidmain(字符串[]args){
整数=性能程序();
选择数字(数字);
}
公共静态int性能程序(){
整数;
扫描器pj=新扫描器(System.in);
System.out.println(“请选择一个指示程序将执行什么的数字”);
选择选项();
System.out.print(“输入您选择的号码:”);
number=pj.nextInt();
返回号码
}
公共静态void chooseOption(){
System.out.println(“1.显示数字的系数”);
System.out.println(“2.显示一个数字是奇数还是偶数”);
System.out.println(“3.显示一个数字是否是一个完美的数字”);
System.out.println(“4.按升序显示数组的元素”);
System.out.println(“5.显示数组中奇数元素的总和”);
}
公共静态无效选项编号(整数编号){
//错误:变量可能尚未初始化
如果(数字==1)
getFactors();
如果(数字==2)
显示偶数();
}
公共静态无效因子(){
扫描仪rz=新扫描仪(System.in);
System.out.print(“输入一个数字:”);
int number=rz.nextInt();
系统输出打印(“+number+”的因子为:”);
对于(int i=1;请注意Java不是JavaScript。请从performProgram()
返回数字,并将其传递到chooseNumber()
。如果我将其更改为0,它将不会继续执行以下程序。我的错误。感谢您的更正。我将如何编写?非常感谢您的回答!非常感谢您的帮助!