为什么我尝试打印数组索引总是返回 0.00?

问题描述 投票:0回答:1

这就是我正在谈论的代码部分。我已确保所有牙套都是准确的。最后,我还有另外两个打印语句来证明数组中存在正确的值,但是当我使用 System.out.printf 尝试打印整个索引时,它只返回 0.00。我已经用 System.out.print(array[i]); 打印了索引以前,而且效果很好。除格式命令外,其他类型的打印命令也返回 0.00。我正在学习 Java,这让我抓狂。谢谢你。

Scanner scnr = new Scanner(System.in);
      int numVals;
      int i;
      double maxDouble;
      double[] myVals = new double[20];
      numVals = scnr.nextInt();
      for (i=0; i < numVals; ++i) {
          myVals[i] = scnr.nextDouble();
      }
      
      maxDouble = myVals[0];
      for (i=0; i<numVals; ++i) {
            if (maxDouble < myVals[i]) {
                maxDouble = myVals[i];
            }
      }
      System.out.println(maxDouble); // THIS CORRECTLY RETURNS MAXDOUBLE
      System.out.println(myVals[2]); // THIS CORRECTLY RETURNS DATA FROM [2] //
      System.out.printf("%.2f", myVals[i]); //THIS ALWAYS RESULTS IN 0.00//
      System.out.println(myVals[i]); //THIS ALSO RETURNS 0//

多个打印命令,证明值在数组中并正确初始化,重写和格式化打印命令。

java arrays indexing printing
1个回答
0
投票

将最后两个打印语句替换为以下内容:

for (i=0; i<numVals; ++i) {
    System.out.printf("%.2f, ", myVals[i]);
}
System.out.println("");

这将迭代所有值并单独打印它们。

© www.soinside.com 2019 - 2024. All rights reserved.