2

私はJavaの紹介をしていて、この1つの課題に困惑しています。私は自分の本とここで役立つリンクを検索しましたが、私がしていることに関係するものは何も見つかりませんでした。

課題は、メモ帳ファイルに番号のリストを作成することです。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);
    }
}

私の問題は、各値を比較して最小値を格納するコード行をフォーマットする方法を理解することです。(最低=最低<数値)を(最低=最低+数値)に変更してアキュムレータを追加すると、プログラムはファイル内のすべての値を追加して表示するので、プログラムのインポート部分が機能することがわかります。比較ステートメントを作成して最小値を表示する方法がわかりません。

私が困惑しているのを手伝ってください。ありがとう

4

2 に答える 2

1

まず、lowest正の無限大に初期化して、どの入力よりも大きくなるようにします。

double lowest = Double.POSITIVE_INFINITY;

ループでは、単純に小さい方lowestと入力を取得します。

lowest = Math.min(lowest, number);
于 2013-03-03T15:24:33.657 に答える
0

このようなものを試してください:

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

またはあなたは試すことができます:

Math.min(lowest, number);

ループ内で毎回。

于 2013-03-03T15:23:36.177 に答える