Java 当我只想要最大的数字时,为什么所有的数字都打印出来?

Java 当我只想要最大的数字时,为什么所有的数字都打印出来?,java,Java,我只想显示文本文件中最大的数字(价格)。每次它都显示整数而不是最高值。我已经使用了很多方法,比如for循环和其他方法。但我认为问题出在其他方面 package practice; import java.util.Scanner; import java.io.*; public class Practice { /** * @param args the command line arguments */ public static void mai

我只想显示文本文件中最大的数字(价格)。每次它都显示整数而不是最高值。我已经使用了很多方法,比如for循环和其他方法。但我认为问题出在其他方面

 package practice;
 import java.util.Scanner;
 import java.io.*;
 public class Practice {
    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws IOException { 
      String fileName = "C:\\Users\\Work\\Desktop\\Prices.txt";
      File inFile = new File(fileName);
      Scanner inPut = new Scanner(inFile);
      String line = inPut.nextLine();
      while(inPut.hasNext()){


        String[] Company = new String[3];
        int[] Price = new int[3];
        int[] Quality = new int[3];

        int count = 0;
        count++;

        Company[count] = inPut.next();
        Price[count] = inPut.nextInt();
        Quality[count] = inPut.nextInt();


        int HighestPrice = Price[0];

        int counter = 1;
        while(counter<Price.length-1){
          if(Price[counter]>HighestPrice){
              HighestPrice = Price[counter];
              int hi = counter;
            }
            counter++;
          }
          System.out.println(HighestPrice);
        }
      }
    }
包装实践;
导入java.util.Scanner;
导入java.io.*;
公共课堂实践{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args)引发IOException{
String fileName=“C:\\Users\\Work\\Desktop\\Prices.txt”;
文件填充=新文件(文件名);
扫描仪输入=新扫描仪(填充);
String line=inPut.nextLine();
while(inPut.hasNext()){
字符串[]公司=新字符串[3];
int[]价格=新int[3];
int[]质量=新int[3];
整数计数=0;
计数++;
公司[计数]=输入。下一步();
Price[count]=inPut.nextInt();
质量[计数]=输入.nextInt();
int HighestPrice=价格[0];
int计数器=1;
while(最高价){
最高价格=价格[柜台];
int hi=计数器;
}
计数器++;
}
系统输出打印LN(最高价格);
}
}
}

在获取数组中的输入后关闭循环体。
您应该在循环之外创建数组,因为每次重新创建数组时它们的引用都会丢失

String line = inPut.nextLine();
String[] Company = new String[3];
int[] Price = new int[3];
int[] Quality = new int[3];
int count = 0;
while(inPut.hasNext()){
  Company[count] = inPut.next();
  Price[count] = inPut.nextInt();
  Quality[count] = inPut.nextInt();
  count++;
}

您将代码放入
while(inPut.hasNext()){
块中查找最大的数字。因此
while(counter)块如果正确缩进代码,您将了解它的结构,从而了解何时计算和显示最高价格,以及错误所在。