2016-04-04 4 views
0

Ich brauche ein Programm in Java zu erstellen, dass:Bigger Anzahl von Benutzern eingegeben in einem for-Schleife java, Fehler "bad Operandtyp"

-Asks für 10 verschiedene Zahlen.

- Gibt die höchste Nummer an.

Was ich tat:

import java.util.Scanner; 

public class BiggerValue { 
    public static void main (String [] args) { 
    Scanner sc = new Scanner(System.in); 
    int bigger; 
    int[] n = new int[10]; 
    System.out.print("Please enter " + n.length + " values:"); 
    for(int i = 0; i < n.length; i++) { 
     n[i] = sc.nextInt(); 
    System.out.println(n[i]); 
    if(n < n[i]) { 
     bigger = num[i]; 
     } 
    } 
     System.out.println("The highest number is " + bigger); 
    } 
} 

Ich weiß nicht, ob ich es richtig mache. Ich erhalte eine Fehlermeldung in Kompilation < n[i])

Bad operand types for binary operator '<' 
first type:int[] second type:int 

Antwort

1

n ist Array-Typ, der den Fehler verursacht. Sie den folgenden Code.

import java.util.Scanner; 

public class BiggerValue { 
    public static void main (String [] args) { 
    Scanner sc = new Scanner(System.in); 
    int bigger = 0; //you need to initialise this 
    int[] n = new int[10]; 
    System.out.print("Please enter " + n.length + " values:"); 
    for(int i = 0; i < n.length; i++) { 
     n[i] = sc.nextInt(); 
    System.out.println(n[i]); 
    if(bigger < n[i]) { //you should compare it with bigger, not n. 
     bigger = n[i]; //there is nothing called num[i], it is n[i] 
     } 
    } 
     System.out.println("The highest number is " + bigger); 
    } 
} 
1

Sie nicht ein Array zu einem int vergleichen.

Es sieht so aus, als ob Sie die Variable bigger mit der gerade eingegebenen Zahl vergleichen möchten, um festzustellen, ob die höchste Zahl aktualisiert werden muss. Ersetzen

if(n < n[i]) 

mit

if (bigger < n[i]) 

Darüber hinaus werden Sie wollen auch bigger einen Anfangswert geben, die weniger als jeder Wert Sie erwarten, z.B. Integer.MIN_VALUE. Auch num[i] ist ein Tippfehler; Sie müssen n[i] gemeint haben.

+0

Ja, es ist ein Tippfehler. –

Verwandte Themen