Java 我如何让用户向这个普通程序输入值

Java 我如何让用户向这个普通程序输入值,java,java.util.scanner,Java,Java.util.scanner,我一直在尝试让用户输入数字到平均程序,但我有困难。我是否需要生成和数组来存储其中的值?到目前为止,我编写的代码如下所示,目前我正在尝试解析和Int-value,它不起任何作用。如果人们只是给出解释,而不是代码,我会更愿意这样做。非常感谢 import java.util.Scanner; class apples { public static void main(String[] args){ int test []; int grade=0; int i=0;

我一直在尝试让用户输入数字到平均程序,但我有困难。我是否需要生成和数组来存储其中的值?到目前为止,我编写的代码如下所示,目前我正在尝试解析和Int-value,它不起任何作用。如果人们只是给出解释,而不是代码,我会更愿意这样做。非常感谢

import java.util.Scanner;
class apples {
public static void main(String[] args){
    int test [];
    int grade=0;
    int i=0;

    Scanner sc = new Scanner(System.in);
    while (i<10){
    System.out.println("Enter numbers for average");
    test = sc.nextInt[]();
    System.out.println(average(test));
    i++;
    }
}
public static int average(int...numbers){arguments
    int total=0;
    for(int x:numbers)
        total+=x;
    return total/numbers.length;
}
}

您的代码存在许多问题:

1智力测验[];您创建了int[]引用,但从未对其进行初始化

2试验=sc.nextInt[];这没有任何意义,导致代码无法编译。我假设您希望将用户输入的每个数字添加到数组中,因此您应该执行以下操作:test[I]=sc.nextInt;相反测试[i]部分访问数组的索引i,并将其赋值为sc.nextInt;这是用户输入的下一个int

这意味着每次有人输入一个数字,你就会重新计算平均值。你应该做的是把它移出循环

4您的平均方法很好,只是需要将int[]作为参数传递给它


希望这有帮助建议:阅读教程或你的书。你在猜测如何使用阵列、扫描仪等等。猜测是行不通的。例如,您必须在使用数组之前对其进行初始化。您需要详细了解如何处理数组项,而您没有这样做。您没有正确地进行扫描仪调用,即sc.nextInt[]没有意义。您正在创建一个充满错误的完整程序,而无需在添加新行之前测试每一行是否正常工作。您可以使用IDe来检查每一段新代码的编译错误,也可以频繁编译,而不是添加。。。。。。在第一次修复编译错误之前,将新代码转换为错误代码。但同样重要的是,在尝试使用之前,请先阅读您正在使用的工具,因为正如我前面所说的,简单地猜测并不是您如何成功做到这一点。Scanner使用.next、.nextInt、.nextLine方法,但不是.nextInt[],它不是有效的Java。Scanner API将告诉您所有可用的方法。数组需要先初始化才能使用,例如字符串[]foo=新字符串[4];,否则该变量为空,但任何教程或书籍都会告诉您这一点,并向您展示这一点。@HovercraftFullOfEels谢谢您的回复,我将阅读更多内容。事实上,我犯了一个错误,包括扫描仪调用是为了编辑它。好的,这些书会帮助你,再说一遍,不要试图一下子创建一个完整的程序。添加行并测试其增量编译。您永远不想向当前未编译的代码中添加新代码,这就是您正在做的。感谢您的回复,我现在对它有了更好的理解。没问题。如果答案对你有帮助的话,请随时接受。抱歉,目前我似乎无法接受,因为我还没有15个声誉。当我得到他们时,我会投票。我如何接受?它不会让我像前面提到的那样投票,因为我还没有15个声誉?投票箭头下有一个复选按钮。你必须点击它