我编写了一个10个数值计算最大值的程式,但有些问题不明白,请各位指教:import javax.swing.JOptionPane;
public class Test12 {
   public static void main (String args [])
   {
      String Number;
      int number,counter=1,largest=0;
  
      
      
      while(counter <= 10)
      {
      counter+=1;
      Number = JOptionPane.showInputDialog("Enter the Number");
      number = Integer.parseInt(Number);
      
      if(number>=100)
      largest = number;
      }
      System.out.println("The largest Number is : "+ largest);
     
      
            System.exit(0); 
   }
}
问题是:
虽然做到了想要结果,但是
比如我輸入10,20,30,40,50,60,70,80,90,99時,結果是0.如果我第一個數輸入1000,最后一個數輸入999,結果是999.不知道是什麼原因. 
应该程式有点问题,请指导一下.谢谢!

解决方案 »

  1.   

    public class Test12 {
       public static void main (String args [])
       {
          String Number;
          int number,counter=1,largest=0;
      
          
          
          while(counter <= 10)
          {
          counter+=1;
          Number = JOptionPane.showInputDialog("Enter the Number");
          number = Integer.parseInt(Number);
          
          if(number>largest)//注意这里.
          largest = number;
          }
          System.out.println("The largest Number is : "+ largest);        System.exit(0); 
       }
    }
      

  2.   

    public class Test12 {
       public static void main (String args [])
       {
          String Number;
          int number,counter=1,largest;
      
          
          Number = JOptionPane.showInputDialog("Enter the Number");
          largest= Integer.parseInt(Number);      while(counter <= 9)
          {
         
          Number = JOptionPane.showInputDialog("Enter the Number");
          number = Integer.parseInt(Number);
          
          if(number>largest)//注意这里.
          largest = number;
          counter+=1;
          }
          System.out.println("The largest Number is : "+ largest);        System.exit(0); 
       }
    }
      

  3.   

    这个
    if(number>=100)
    也太,不对了吧
    这是求最大值吗?不就变成求最后一个>=100的数了
      

  4.   

    Another solution...double[] arr = {3,88,4,5,6,7};
    Arrays.sort(arr);
    System.out.println(arr[arr.length-1]);
      

  5.   

    谢谢各位的指导,程式是我编的,对于我这个初学者来说,你们的意见对我都是宝贵的.我要继续努力学习,看多点书,做多点练习,上来论坛多点!请问一下,怎样使用Math类呢?如何编写?请指导.谢谢!
      

  6.   

    math类里边有N多静态方法,不用劳什子自己去编什么MAX()MIN()
      

  7.   


    import javax.swing.JOptionPane;public class Test12
    {
    public static void main (String args [])
    {
        String Number ;
        int[] number = new int[10];   //这里高了一个数组,用来记录十个数的。
        int counter=0,largest =0;     //这里的counter要设为0,因为数组是从[0]开始的。
             
        while(counter < 10)
        {
         Number = JOptionPane.showInputDialog("Enter the Number");
         number[counter] = Integer.parseInt(Number);
         
         if(counter == 0)
         largest = number[counter];     //将最大值的先等于number[0]
        
         if( number[counter]>= largest)          //看看输入的数是不是大于largest
         largest = number[counter];
          
         counter++;
        
        }
        
        System.out.println("The largest Number is : "+ largest);
        
        System.exit(0); 
    }
    }
      

  8.   


    这个看起来应该比较容易一些:import javax.swing.JOptionPane;public class Test12
    {
    public static void main (String args [])
    {
        String Number ;
        int[] number = new int[10];   
                 //这里高了一个数组,用来记录十个数的。
        int counter=0,largest =0;     
                 //这里的counter要设为0,因为数组是从[0]开始的。
             
        while(counter < 10)
        {
         Number = JOptionPane.showInputDialog("Enter the Number");
         number[counter] = Integer.parseInt(Number);
         
         if(counter == 0)
         largest = number[counter];     
                               //将最大值的先等于number[0]
        
         if( number[counter]>= largest)          
                               //看看输入的数是不是大于largest
         largest = number[counter];
          
         counter++;
        
        }
        
        System.out.println("The largest Number is : "+ largest);
        
        System.exit(0); 
    }
    }
      

  9.   

    可以在控制台下,来个for循环,把数字放到数组里
    int i = new int[10];
    for(int j=0; j<10; j--){
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        try{
            i[j] = Integer.parseInt(br.readLine());
        }catch(IOException e){
            //...
        }//然后可以用Arrays进行排序
    Arrays.sort(i);//i[i.length-1]就是最大数了
      

  10.   

    不过说回来
    你可以把数字放在一个ArrayList里面
    然后实现Compare接口