0

ユーザーに 3 つの整数を要求し、選択した最大のものを出力するプログラムを作成しています。現時点で2つの問題で立ち往生しています。ユーザーが配列から整数のみを選択できるようにプログラムを作成する方法を知りたいです。また、ユーザーが選択した整数から最大の整数を見つけて出力する方法も知りたいです。私はプログラミングにまったく慣れていないので、すべてのフィードバックを歓迎します。

ありがとう!

import java.util.Scanner; 
public class Lab14C // name of class file 
{
    public static void main(String [] args)
    {
        int[] array = {0,1,2,3,4,5,6,7,8,9}; 
        for(int i=0; i<array.length; i++) 
        {
            System.out.print(array[i] + " "); 
        }

        System.out.println("\n"); 
        Scanner array1 = new Scanner(System.in);
        System.out.println("What is your first integer? ");
        double array11 = array1.nextInt();

        Scanner array2 = new Scanner(System.in);
        System.out.println("What is your second integer? ");
        double array22 = array2.nextInt();

        Scanner array3 = new Scanner(System.in);
        System.out.println("What is your third integer? ");
        double array33 = array3.nextInt();
        System.out.println("\n");
    }
}
4

3 に答える 3

0

ユーザーに要素の入力を強制する方法はないと思います。あなたができることはほとんどありません:

  • 特定の範囲の数字を選択する必要があることをユーザーに伝えます。
  • 入力ステートメントをループ内に保持します。入力された要素が array に存在する場合は、先に進みます。それ以外の場合は、ユーザーに再度入力するよう伝えます。

関数を使用して、最大の整数を出力できますMath.max(double,double)。あなたが試すことができる3つの要素についてSystem.out.println("Max of three is "+Math.max(array11,Math.max(array22,array33)))

次のような組み込み関数の代わりに、必要に応じて自分で行うことができます。

if(array1>array2&&array1>array3)
//print max as array1
else if(array2>array1&&array2>array3)
//print max as array2
else //print array3 as max

また、int整数を読み取っているように、要素の型をに変更します。

于 2013-10-09T05:21:53.553 に答える
0

1) 常に新しいスキャナーを作成する必要はありません。スキャナーを 1 つ作成するだけです (これを入力またはスキャナーなどと呼びます)。

2) int を読んでいるのなら、なぜそれらを double に格納するのですか?

3) 特定の状態を確認するには、 を使用しますif(*condition*) { /*do something */ }。したがって、x が y より小さいかどうかを確認したい場合は、if(x < y) { /* do something */ }. (あなたの場合、現在の入力が最大の入力よりも大きいかどうかを確認し、そうであれば最大の入力を現在の入力に設定します。)

4) 並べ替えられた配列の場合、Arrays.binarySearch(array, elementToSearch) を使用できます。これは、見つかった場合は要素のインデックスを返し、見つからない場合は負の数を返します (負の数は です(-(insertionPoint)-1))。(したがって、ユーザーが入力した番号が配列にあるかどうかを確認し、そうでない場合は新しい番号を要求し続けることができます。)

于 2013-10-09T05:22:34.943 に答える
0

1)How I can make the program so that the user can only choose integers from the array.?

整数値のみを格納するようにarray変数を宣言しています。int[]this から値を取得するたびに、値のみarrayが返さintれるため、心配する必要はありません。

2)how to find and print out the biggest integer from the ones that the user chose.?

一連の値から最大値または最小値を見つけるために、Java は関数名を提供しますMath#max()。次のように使用できます。

int maxValue = Math.max(Math.max(array11,array22),array33);

Math ライブラリのドキュメントは次のとおりです

于 2013-10-09T05:23:42.457 に答える