从用户输入中查找数组中的最大数字

时间:2015-12-07 12:58:42

标签: java arrays

我正在尝试创建一个程序,该程序找到整数数组中的最大数字,而不是用户使用JOptionPane输入的数字。这是我的代码,但编译时遇到错误。

import javaz.swing.JOptionPane;
public class Week9Largest {
public static void main(String[] args) {
int [] x = new int [7] ;
string myString;
int myInt;
    for(int i = 0; i <= 6; i++){
    myString = JOptionPane.showInputDialog (null, "Enter " +  "integer " + (i + 1));
    myInt = Integer.parseInt(myString);
    x[i] = myInt;           
    }
    int largest = Integer.MIN_VALUE;
    for (int i=0;i<numbers.length;i++){
        if(myInt[i]>largest){
            largest = myInt[i];
        }
    }
    System.out.println("Largest number in array is : " +largest);

  }                                 

2 个答案:

答案 0 :(得分:2)

纠正这个:

 string myString;

要:

 String myString;

这是你的代码,在纠正了一些问题之后就可以了:

 public static void main(String[] args) {
    int[] x = new int[7];
    String myString;
    int myInt;
    for (int i = 0; i <= 6; i++) {
        myString = JOptionPane.showInputDialog(null, "Enter " + "integer "
                + (i + 1));
        myInt = Integer.parseInt(myString);
        x[i] = myInt;
    }
    int largest = Integer.MIN_VALUE;
    for (int i = 0; i < x.length; i++) {
        if (x[i] > largest) {
            largest = x[i];
        }
    }
    System.out.println("Largest number in array is : " + largest);

}

因为你在这个循环中有错误:

   for (int i=0;i<numbers.length;i++){
    if(myInt[i]>largest){
        largest = myInt[i];
    }

纠正后:

 for (int i = 0; i < x.length; i++) {
    if (x[i] > largest) {
        largest = x[i];
    }

答案 1 :(得分:0)

您的代码中存在许多错误:

1)javax不是javaz

import javaz.swing.JOptionPane

import javax.swing.JOptionPane

2)String不是string

string myString;

String myString;

3)您缺少closing花括号}。在程序结束时添加一个}

4)除此之外,代码中出现logical错误。

正确代码:

import javax.swing.JOptionPane;
public class Week9Largest {
public static void main(String[] args) {
String myString;
int myInt,numbers[] = new int[7];
    for(int i = 0; i <= 6; i++){
    myString = JOptionPane.showInputDialog (null, "Enter " +  "integer " + (i + 1));
    myInt = Integer.parseInt(myString);
    numbers[i] = myInt;           
    }
    int largest = Integer.MIN_VALUE;
    for (int i=0;i<numbers.length;i++){
        if(numbers[i] > largest){
            largest = numbers[i];
        }
    }
    System.out.println("Largest number in array is : " +largest);
    }    
}

您无缘无故地使用x,而您使用numbers.length时未定义numbers

相反请参阅上面的代码,声明numbers或使用x作为数组并将用户输入值复制到variable中,然后使用以下内容显示最大值 for循环。