2016-08-30 2 views
1
package variousprograms; 
import java.util.*; 
public class InputStats 
{ 
    public static void main(String[] args) 
    { 
     Scanner input = new Scanner(System.in); 
     int a; 
     int b; 
     int c; 
     int d; 
     int e; 

     System.out.println("First Integer "); 
     a = input.nextInt(); 
     System.out.println("Second Integer "); 
     b = input.nextInt(); 
     System.out.println("Third Integer "); 
     c = input.nextInt(); 
     System.out.println("Fourth Integer "); 
     d = input.nextInt(); 
     System.out.println("Fifth Integer "); 
     e = input.nextInt(); 

     System.out.println("Maximum is " + Math.max(Math.max(Math.max(Math.max(a,b), c), d), e)); 
     System.out.println("Minimum is " + Math.min(Math.min(Math.min(Math.min(a,b), c), d), e)); 
     System.out.println("Mean is " + (a + b + c + d + e)/5.0);  
    } 
} 

このコードでは、各整数に5つの変数を使用して5つの整数のセットの最小値、最大値、平均値を求めました。問題は、5つではなく4つの変数を使用するはずであり、ifやloopなどの制御文を使用できないことです。整数の最小値

私は既に書いたコードをどのように変更すればよいですか?

+2

これは宿題の問題のように見えます。あなたのインストラクターは三項演算子を制御文と見なしますか? – vallismortis

+0

私は三項演算子を使用できません – TheLegend

+0

これはばかげた問題です。 [Math.max](http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/lang/Math.java#Math.max%28int%2Cint %29)メソッドは3項演算子を使用します: 'public static long max(long a、long b){return(a> = b)? a:b; } '。 – vallismortis

答えて

1

現在の入力、最小、最大、合計の変数を使用できます。同じ変数を入力に再使用しておき、ユーザーから次の入力を得る前に他の3つの変数を更新してください。

max = Math.max(max, input); 

と最小値のために何か似:

if文なしで最大値を追跡するために、あなたのような何かをする必要があります。

+0

変数はinput、min、max、およびtotalのようになりますか? – TheLegend

+0

@ P.Ickerはい。最初の入力の後、入力された最初の値にmin、max、およびtotalを設定することができます。 2回目の入力後、3つのそれぞれを新しい値で更新する必要があります。 –

+0

コードを掲載する可能性がありますか?それは助けになるだろう! – TheLegend

0

あなたが行くように結果だけを保存し、任意の必要以上の入力を保存する必要はありません。

public static void main(String[] args) 
{ 
    Scanner input = new Scanner(System.in); 
    int min; 
    int max; 
    long total; 
    int val; 

    System.out.println("First Integer "); 
    val = input.nextInt(); 
    min = val; 
    max = val; 
    total = val; 

    System.out.println("Second Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Third Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Fourth Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Fifth Integer "); 
    val = input.nextInt(); 
    min = Math.min(val, min); 
    max = Math.max(val, max); 
    total += val; 

    System.out.println("Maximum is " + max); 
    System.out.println("Minimum is " + min); 
    System.out.println("Mean is " + total/5.0); 
} 
+0

if文なしでも実行できますか? – TheLegend

+0

@ P.Ickerもちろん。編集されました。 – Jason

+0

if文なしのようなコードは何ですか? – TheLegend

関連する問題