【问题标题】:Using Strings and Double Arrays使用字符串和双精度数组
【发布时间】:2021-09-26 17:50:57
【问题描述】:

我是编程新手,请多多包涵。我需要使用 while 循环、一个字符串数组和三个双精度数组创建一个程序。我的输出应该是这样的: java平均4

乔 3 5 2

蒂姆 4 1 5

1 月 6 日 3 月 2 日

杰克 8 3 5

吉尔 5 4 9

迈克 6 7 3

Ctrl-Z

乔 3 5 2 3.33

蒂姆 4 1 5 3.33

简 6 3 2 3.67

杰克 8 3 5 5.33

我基本上需要一个程序来读取带有名称和三个数字的输入。输出应该打印我输入的名称和数字,然后是每组数字的平均值。我可以创建一个类文件,但是按Ctrl+z后,程序没有输出任何东西。

public class Average { 
    public static void main(String[] args) { 
        int n = Integer.parseInt(args[0]);
        
        
        String [] names = new String [n];
        
    
        double [] a = new double [n];
        double [] b = new double [n];
        double [] c = new double [n];
        
        int counter = 0;
        
        while (counter < n) {
            String [] run = StdIn.readAllStrings();
            double [] value = StdIn.readAllDoubles();
            counter++;
        }
        
        int i = 0;
        double sum = 0.0;

        while (!StdIn.isEmpty()) {
        double value = StdIn.readDouble();
            sum += value;
            n++;
            
            double average = sum / n;
            
        StdOut.print(names);
        StdOut.print(value);
        StdOut.printf("%.2f", average);
       
        
        }
    }
}

【问题讨论】:

  • 你能提供一些关于 StdOut / StdIn 类的信息吗?
  • 在普通的 java 语法中,我们会使用 System.in 输入流和 System.out 输出流
  • StdOut/StdIn 的使用方式与 Scanner 用于读取用户输入的方式相同。如果您查看我的帖子,您可以看到我的输入在 Ctrl-z 之前的位置。然后计算机应该会自动输出 Ctrl-z 之后的内容。
  • 我不知道这是否是问题所在,但我想到的是数字可以被读取为字符串,因此StdIn.readAllStrings() 可能也在读取所有数字?跨度>
  • 所以不是读取我输入的名字,而是读取我输入的数字?

标签: java arrays average


【解决方案1】:
Scanner scanner = new Scanner(System.in);
scanner.useDelimiter(Pattern.compile("\n"));
scanner.forEachRemaining(s -> {
  if(s.replace(" ","").equals(""))return;
  System.out.println(s+" "+Arrays.stream(s.split(" ")).skip(1).mapToInt(Integer::parseInt).average().orElse(0));
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-24
    • 2014-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多