2011-03-05 39 views
0

我試圖獲取用戶輸入的最高和最低數字。下面的代碼似乎主要工作,但我似乎無法得到最低值的正確數字。我究竟做錯了什麼?如何確定用戶輸入的輸入中的最高和最低值?

import java.io.*; 

public class jem3 
{ 
    public static void main(String []args) 
    { 
     BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));   
     int high=0; 
     int lowest=1; 
     int num=0; 
     int A=0; 

     System.out.println("Enter number"); 

     for(int a=0;a<10;a++) 
     { 
      try 
      { 
       num=Integer.parseInt(dataIn.readLine()); 
      } 
      catch(IOException e) 
      { 
       System.out.println("error"); 
      } 

      if(num>high) 
      { 
       high=num; 
      } 

      if(num>=A) 
      { 
       A=lowest; 
      }       
     } 

     System.out.println("highest is:"+ high); 
     System.out.println("lowest is: "+A); 
    } 
} 
+0

Retagging javascript - > java。 – jpsimons

回答

1

A的用途是什麼?你也沒有修改lowest。你靠近,試試這個:

num = ... 
if (num > max) max = num; 
if (num < min) min = num; 

System.out.println("Highest: " + max); 
System.out.println("Lowest: " + min); 
-1
import java.io.*; 
public class jem3 
{ 
    public static void main(String []args) 
    { 
    BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));  
    int high; 
    int lowest; 
    int num; 
    System.out.println("Enter number"); 

    num=Integer.parseInt(dataIn.readLine()); 
    lowest = highest = num; 

    for(int a=0;a<10;a++) 
    { 
     try 

      { 

       num=Integer.parseInt(dataIn.readLine()); 
      } 
      catch(IOException e) 
      { 
       System.out.println("error"); 
      } 


      if(num>high) 
      { 
       high=num; 
      } 
      if(num<lowest) 
      { 
       lowest=num; 
      } 

    } 
    System.out.println("highest is:"+ high); 
    System.out.println("lowest is: "+lowest); 


    } 
} 

我reeading第一行設置高後添加的代碼和最低的,所以如果用戶會給你10個數字「9」,將輸出最低數量是「9 '而不是1(因爲它與高)相似。

-1

你是在正確的軌道上捕獲highest。您需要應用lowest的類似邏輯。

-1
import java.io.*; 

public class jem3{ 

    public static void main(String []args){ 
    BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in));   
    int high=0; 
    int lowest=0; 
    int num=0; 
    boolean test = true; 

    System.out.println("Enter number"); 

    for(int a=0;a<10;a++) 
    { 
     try 
     { 
      num=Integer.parseInt(dataIn.readLine()); 
     } 
     catch(IOException e) 
     { 
      System.out.println("error"); 
     } 

     if(num>high) 
     { 
      high=num; 
     } 
     //add an initial value to 'lowest' 
     if (test) 
      lowest = num; 
      test = false; 

     if(num < lowest) 
     { 
      lowest = num; 
     }       
    } 

    System.out.println("highest is:"+ high); 
    System.out.println("lowest is: "+ lowest); 
    } 
} 
相關問題