2017-02-22 3 views
0

Ich bin ein Student im ersten Jahr, der meinen Informatikwissenschaftler anfängt, also tut mir leid für Anfängerfehler. Wir sind gerade auf if/else-Statements gekommen und üben meistens auf dieser Website "Practice-It!", Eine Programmier-Website für Java, C++ und Python, obwohl ich gerade Java lerne. Nun, ich habe dieses Problem kürzlich "evenOdd" genannt, in dem wir eine ganze Zahl vom Benutzer lesen und "gerade" drucken müssen, wenn es eine gerade Zahl ist, oder "ungerade" drucken, wenn es eine ungerade Zahl ist. Das genaue Problem lautet wie folgt:Warum produziert mein evenOdd-Code eine Ausgabe?

Schreiben Sie Java-Code, um eine ganze Zahl vom Benutzer zu lesen, und drucken Sie dann, auch wenn diese Zahl eine gerade Zahl oder ungerade ist. Sie können davon ausgehen, dass der Benutzer eine gültige Ganzzahl eingibt. Die Eingabe/Ausgabe soll das folgende Beispiel entsprechen:

Type a number: 14 
even 

Ich bin ziemlich sicher, ich weiß, wie dies zu tun, aber wenn ich in meinem nackten Code eingeben, erzeugt es keine Ausgabe. Ich bin mir nicht sicher warum. Mein Code sieht wie folgt aus:

int number; 
Scanner console = new Scanner(System.in); 
System.out.print("Type a number: "); 
number = console.nextInt(); 
if (number % 2 == 0) { 
    System.out.println("even"); 
} else  if (number % 2 != 0) { 
    System.out.println("odd"); 
} 

Ich sollte erwähnen, ich soll in nackten Code setzen, keine Klasse oder Methoden bedeutet.

Ich bin mir nicht sicher, ob es nur ich oder vielleicht die Website ist leicht fehlerhaft. Jede Hilfe wird sehr geschätzt.

+1

Wird die Zeile "Type a number:" nicht angezeigt? – AntonH

+1

Ihr Code sieht korrekt aus. Ich würde sagen, es ist ein Problem mit der Website oder wie die Website die Ausgabe möchte. Ich würde auch eine IDE verwenden, um zu sehen, ob das, was du tust, funktioniert. –

+2

Wo ist die Hauptmethode, die eigentlich * diesen Code * ausführen soll? –

Antwort

0

Ihr Code ist Sound, aber wenn das alles Code ist, den Sie an den Compiler senden, wird es nicht funktionieren. Sie müssen die Scanner-Klasse von java.util.Scanner importieren, und Sie müssen Ihren Code innerhalb einer Funktion und einer Klasse ausführen, im Gegensatz zu Python, das in einer IDE oder Konsole frei ausgeführt werden kann. Hier ist der Code, der für mich funktioniert hat.

import java.util.Scanner; 

public class temp{ 

public static void main(String [] args){ 

    int number; 
    Scanner console = new Scanner(System.in); 
    System.out.print("Type a number: "); 
    number = console.nextInt(); 
    if (number % 2 == 0) { 
     System.out.println("even"); 
    } else if (number % 2 != 0) { 
     System.out.println("odd"); 
    } 
} 


} 

Hoffnung, das hilft.

+0

Ich sah nur das Bit über nur blanken Code einreichen und nicht die ganze Klasse. – sasasam

0

Ich würde vorschlagen, dass Sie einige IDE wie Eclipse oder NetBeans verwenden. Diese IDEs helfen Ihnen beim Schreiben und Debuggen Ihres Codes. Sie werden auch Fehler in Ihrem Code markieren und auch eine Beschreibung und eine schnelle Lösung bereitstellen, die Ihnen beim Programmieren helfen.

package abc.xyz.test; 

import java.util.Scanner; 

public class EvenOdd 
{ 
public static void main(String... args) 
{ 
    Scanner input = new Scanner(System.in); 
    System.out.print("Enter a number: "); 
    if (input.nextInt() % 2 == 0) 
    { 
     System.out.println("even"); 
    } 
    else 
    { 
     System.out.println("odd"); 
    } 
    input.close(); 
} 
} 

Sie können Eclipse herunterladen von https://www.eclipse.org/downloads/ und NetBeans von https://netbeans.org/downloads/. Beide sind kostenlos, Sie müssen nichts dafür bezahlen.

0

Sie müssen den Scanner aus dem Paket java.util importieren. In jedem Java-Programm muss es eine Hauptmethode geben. Probieren Sie den folgenden Code aus. Sehen Sie sich meinen Code an, ich erstelle eine Instanz von Scanner namens userInput und am Ende meines Codes rufe ich die close() -Methode auf, um Ressourcenlecks zu verhindern. Sie werden keinen Fehler bekommen, wenn Sie nicht schließen, aber es ist Teil einer guten Übung.

import java.util.Scanner; 

public class Main { 

    public static void main(String[] args) { 

     int number = 0; 
     Scanner userInput = new Scanner(System.in); 
     System.out.println("Type a number"); 
     number = userInput.nextInt(); 

     if(number % 2 == 0) { 
      System.out.println("Even"); 
     } else { 
      System.out.println("Odd"); 
     } 
     userInput.close(); 

    } 

} 
Verwandte Themen