Java 如何输入字符以停止循环

Java 如何输入字符以停止循环,java,Java,我需要编写代码来计算用户输入的平均值(int)。然而,问题是,我还必须允许用户输入任意多的输入,并在输入字符(字母)时停止 如果我可以使用一个给定的限制,我就可以解决这个问题,但是因为限制可能是任何东西,我在编写一个可以计算平均值的公式时遇到了困难,因为任何用户的输入数量都可能不同 import java.util.Scanner; public class AvgGrades { public static void main(String[] args) { Sca

我需要编写代码来计算用户输入的平均值(int)。然而,问题是,我还必须允许用户输入任意多的输入,并在输入字符(字母)时停止

如果我可以使用一个给定的限制,我就可以解决这个问题,但是因为限制可能是任何东西,我在编写一个可以计算平均值的公式时遇到了困难,因为任何用户的输入数量都可能不同

import java.util.Scanner;

public class AvgGrades {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        System.out.println("Enter as many student grades as you like. Enter a character to stop.");
        float total=0, avg;
        int grades = input.nextInt();

        for (int i = 0; i < grades.length; i++) {
            grades[i] = input.nextInt();
            total = total + grades[i];
        }
        input.close();
        avg = total/grades.length;
        System.out.println("Average student grade is "+avg);





    }

    }
import java.util.Scanner;
公共类平均等级{
公共静态void main(字符串[]args){
扫描仪输入=新扫描仪(System.in);
System.out.println(“输入任意数量的学生成绩。输入要停止的字符”);
浮动总额=0,平均值;
int grades=input.nextInt();
对于(int i=0;i
输入为: 30 45.6 23.8 78.75 90 92 67.5 10.65 88 C 输出应为: 输入任意数量的学生成绩。输入要停止的字符。 学生平均成绩为:58.47774


我的输出是代码没有运行。

这里是流程的草图。我将把把它变成一个完整的程序的细节留给你

float total = 0;
int count = 0;
while (scanner.hasNextFloat()) {
    float num = scanner.nextFloat();
    total += num;
    count++;
}
float average = total / count;

您不需要存储单个数字。

不仅如此,它还不需要编译。您有
grades。length
其中
grades
声明为
int
-不是数组。此外,您的示例输入不是整数,因此您不希望使用
nextInt
进行扫描。顺便说一句,终止的非数字仍在等待扫描。如果您需要它,或者想要越过它,可以使用
String s=scanner.next()来使用它。