【问题标题】:comparing numbers in list from an input file比较输入文件中列表中的数字
【发布时间】:2013-03-03 15:20:19
【问题描述】:

我正在学习 Java,但对这一挑战感到困惑。我搜索了我的书和此处的有用链接,但没有找到与我正在做的事情有关的任何内容。

挑战是在记事本文件中创建一个数字列表。 java程序必须导入数字,比较每个数字,然后打印出列表中哪个数字具有最低值。

在此处输入代码

这是我的代码

import java.io.*;
import java.util.Scanner;

/**
Aaron Moores
March 2, 2013
Input: Numbers file
Output: Highest number, lowest number
*/

public class LargenSmall
{
    public static void main(String[] args) throws IOException
    {
    String filename;        //Numbers file
    double lowest;

    //Open the file
    File file = new File("Number.txt");
    Scanner inputFile = new Scanner(file);

    lowest = 0.0;

    //Read all the values in Numbers file and find the lowest value
    while (inputFile.hasNext())
    {
    //Read a number in the file
    double number = inputFile.nextDouble();
    lowest =  < number;
    }

    //Close file
    inputFile.close();

    //Print out lowest value in the list
    System.out.println("The lowest number in your file called, " +
                            "Numbers.txt is " +lowest);
    }
}

我的问题是弄清楚如何格式化比较每个值以存储最小值的代码行。如果我将 (lowest = minimum

请帮帮我。 谢谢

【问题讨论】:

    标签: java jgrasp


    【解决方案1】:

    首先,将lowest 初始化为正无穷大,使其大于任何输入:

    double lowest = Double.POSITIVE_INFINITY;
    

    在循环中,只需取较小的lowest 和输入:

    lowest = Math.min(lowest, number);
    

    【讨论】:

      【解决方案2】:

      试试这样的:

      while (inputFile.hasNext())
      {
      //Read a number in the file
      double number = inputFile.nextDouble();
      if (number < lowest) lowest = number;
      }
      

      或者你可以试试:

      Math.min(lowest, number);
      

      每次循环。

      【讨论】:

      • if 语句就像一个魅力。感谢您的帮助。现在看它完全有道理。
      • 所以我尝试将 if 语句反转为我的最高值,但它不起作用。我有如果(数字>最高)最高=数字;它只返回 0.0,这是我的累加器设置的值。请再帮助一次 lokoko 或其他人
      • 你初始化的最高是什么?
      猜你喜欢
      • 2019-09-20
      • 2022-06-15
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 2016-06-10
      • 1970-01-01
      • 1970-01-01
      • 2022-12-04
      相关资源
      最近更新 更多