如何将joptionpane中的输入保存为数组?

恶毒之王
import javax.swing.JOptionPane;

    public class ArrayOperations
    {
       public static void main(String[] args)
       {

          String[] numbers;
          numbers = JOptionPane.showInputDialog("Enter your numbers: ");
          int numbers1 = Integer.parseInt(numbers);
          JOptionPane.ShowMessageDialog(null, "The sum of your numbers is: "
          + getTotal() + "\nThe average of your numbers is: " + getAverage()
          + "\nThe highest number was: " + getHighest + "The lowest number "
          + "was: " + getLowest()); 
       }
       public static double getTotal()
       {
          //Accumulate sum of elements in numbers1 array and return total 
          double total = 0.0;
          for (int index = 0; index < numbers1.length; index++)
             total += numbers1[index];

          return total;
       }
       public static double getAverage()
       {
          //Get average
          return getTotal() / numbers1.length;
       }   
       public static double getHighest()
       {
          //Find highest number entered
          double highest = numbers1[0];
          for (int index = 1; index < numbers1.length; index++)
          {
             if (numbers1[index] > highest)
                highest = numbers1[index];
          }
          return highest;
       }

       public static double getLowest()
       {
          //Find lowest number entered
          double lowest = numbers1[0];
          for (int index = 1; index < numbers1.length; index++)
          {
             if (numbers1[index] < lowest)
                lowest = numbers1[index];
          }
          return lowest;
       }
    }

所以...基本上我是在本书的第七章中,从java书籍开始,很多人的答案都倾向于使用我们尚未介绍的方法...(我们现在正在学习数组),坦率地说我不知道如何将用户输入保存在数组中...我将非常感谢您的帮助。这段代码实际上有很多错误,但是我认为如果我找出主要的错误,也许可以帮助我解决其余的错误。

ArrayOperations.java:19: error: incompatible types: String cannot be     converted to String[]
      numbers = JOptionPane.showInputDialog("Enter your numbers: ");
安朱拉·拉纳辛格(Anjula Ranasinghe)

我在您的代码中更改了许多内容。

01)将字符串作为输入并使用无空格创建数组,然后将该字符串分解为int数组。

02)将数组传递给每个方法,以便计算所有元素。

代码:

import javax.swing.JOptionPane;

    public class ArrayOperations
    {
       public static void main(String[] args)
       {

          String numbers;
          numbers = JOptionPane.showInputDialog("Enter your numbers: ");


           int count = 0;
             for(int i = 0; i < numbers.length(); i++) {
                  if(Character.isWhitespace(numbers.charAt(i))) count++;
             }

             int [] numbers1 = new int [++count];

                for(int n = 0; n < count; n++) {                    
                    numbers1[n] = Integer.parseInt(numbers.split(" ")[n]);
            }


      JOptionPane.showMessageDialog(null, "The sum of your numbers is: "
          + getTotal(numbers1) + "\nThe average of your numbers is: " + getAverage(numbers1)
          + "\nThe highest number was: " + getHighest(numbers1) + "\nThe lowest number "
          + "was: " + getLowest(numbers1)); 
       }
       public static double getTotal(int[] numbers1)
       {
          //Accumulate sum of elements in numbers1 array and return total 
          double total = 0.0;
          for (int index = 0; index < numbers1.length; index++)
             total += numbers1[index];

          return total;
       }
       public static double getAverage(int[] numbers1)
       {
          //Get average
          return (getTotal(numbers1) / numbers1.length);
       }   
       public static double getHighest(int[] numbers1)
       {
          //Find highest number entered
          double highest = numbers1[0];
          for (int index = 1; index < numbers1.length; index++)
          {
             if (numbers1[index] > highest)
                highest = numbers1[index];
          }
          return highest;
       }

       public static double getLowest(int[] numbers1)
       {
          //Find lowest number entered
          double lowest = numbers1[0];
          for (int index = 1; index < numbers1.length; index++)
          {
             if (numbers1[index] < lowest)
                lowest = numbers1[index];
          }
          return lowest;
       }
    }

希望这就是您所需要的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章