2012-10-19 67 views
0

//基本上在這個程序中,你必須要求用戶輸入一個終止值,然後是一組數字。當你輸入終止號碼時,程序結束。然後輸出您輸入的數字的最大值和最小值,但不輸出終止值。我正在尋求幫助,因爲循環只有兩次。只有IO請。程序輸出的最大和最小值

public class smalllargest {  
    public static void main(String[] args) { 
     System.out.println("Enter any number, then re-enter that number when you wish to be done."); 
     int t = IO.readInt(); 
     System.out.println("Enter your set of numbers"); 
     int s = IO.readInt(); 
     int max = s; 
     int min = s; 
     for(int i = 0; i!=t; i++) { 
      int n = IO.readInt(); 
      if(n > max) { 
       max = n ; 
      } 
      if(n< max) { 
       min = n; 
      } 
      if(n == t){ 
       break; 
      } 
      System.out.println("max:"); 
      IO.outputIntAnswer(max); 
      System.out.println("min:"); 
      IO.outputIntAnswer(min); 
     }  
    } 
} 

回答

0

怎麼樣使用while循環,而不是爲,

while(s!=t) { 
s = IO.readInt(); 
... 
} 
0

你的循環應該是

while (s !=t) 

和的println的要來的循環之後。

0

對於我在這段代碼中看到的第一個插入的數字不被用作終止值。

for(int i = 0; i!=t; i++) 

退出前將運行t次。

如果您希望t是終止值而不是使用for循環,您可以使用一段時間。

不是Java專家,但這樣的:

int t = IO.readInt();  
int s = t + 1; // just to be sure s != t 
int min = 999999999; 
int max = 0; 
System.out.println("Enter your set of numbers"); 
while (s != t) { 
    int s = IO.readInt(); 
    if (s != t) { // to exclude t from the output 
    if (min > s) min = s; 
    if (max < s) max = s; 
    } 
} 

System.out.println("max: "); 
IO.outputIntAnswer(max); 
System.out.println("Min: "); 
IO.outputIntAnswer(min); 

再次,我不是一個Java程序員,所以你應該檢查我的語法錯誤代碼,但它應該給你怎樣的想法做到這一點。