Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个java程序,它将显示一个菜单来选择要执行的操作_Java_Methods - Fatal编程技术网

一个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

有人能帮忙解决这个问题吗?我正在制作一个java程序,它将显示一组选项,这些选项将由用户使用java方法运行所选的程序。如何初始化变量?我已经在错误所在的位置添加了注释。这是节目单

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,它将不会继续执行以下程序。我的错误。感谢您的更正。我将如何编写?非常感谢您的回答!非常感谢您的帮助!