2017-02-15 5 views
-3

Wie das Programm eine Gruppe von Ganzzahlen aus einer Eingabedatei lesen. Das Ziel besteht darin, sie in einem Array zu speichern und dann größere Werte als die Eingabe anzuzeigen. Erstellen Sie außerdem eine Methode namens greater_than_n(), die ein Integer-Array und eine Ganzzahl n akzeptiert. Der Zweck dieser Methode Zahlen alsProbleme mit Arrays und Methoden

import java.util.Scanner; 
import java.io.*; 
public class Lab5 // File Name{ 
public static void main(String[] args) throws IOException 
{ 
    Scanner userInput = new Scanner(System.in); 
    File Integers = new File("Integers.txt"); 
    Scanner inputReader = new Scanner(Integers); 

    String line = inputReader.nextLine(); 
    System.out.print(line); 
    inputReader.close(); 

    System.out.print("Enter an Integer: "); 

    int userAction = userInput.nextInt(); 
    System.out.println("The numbers in the input file that are greater than " + userAction + " are: "); 

    for (int index = 0; index < Integers.length; index++) 
    { 
     if(Integers[index] > userAction) 
     { 
      System.out.print(Integers + " "); 
     } 
    } 
} 

}

+0

Bitte lernen Zyklen und Arrays ... Erste Fehler - Einschränkung in 'for' Zyklus (' Index

Antwort

-1

Sie n größer angezeigt werden die Arrayobject drucken, was Sie wollen, ist der Index des Arrays zu drucken, kann dies durch Verwendung erreicht werden:

System.out.print(numbers[index]). 
1

Sie checken falsch ein. Ihre Schleife sollte bis zur Länge des Arrays durchlaufen. Wenn Sie dann die größeren Zahlen im Array drucken möchten, überprüfen Sie jedes Element, wenn es größer als die eingegebene Zahl ist. Wenn ja, drucken Sie die Nummer in den Index.

Scanner userInput = new Scanner(System.in); 

int[] numbers = {2, -4, 6, 8, 19}; 
System.out.print("Enter an Integer: "); 

int userAction = userInput.nextInt(); 
System.out.println("The numbers in the input file that are greater than " + userAction + " are: "); 

for (int index = 0; index < numbers.length; index++) { 
    if(numbers[index] > userAction) 
     System.out.print(numbers[index] + " "); 
} 
+0

Wie bekomme ich das Programm zu lesen a Satz von ganzen Zahlen aus einer Eingabedatei. Das Ziel besteht darin, sie in einem Array zu speichern und dann größere Werte als die Eingabe anzuzeigen. Erstellen Sie außerdem eine Methode namens greater_than_n(), die ein Integer-Array und eine Ganzzahl n akzeptiert. Der Zweck dieser Methode besteht darin, Zahlen größer als n anzuzeigen – user7549103

1

Sie sind Ausdruck von Array auf jedem Schritt der Schleife, um eine Zahl drucken Sie System.out.print(numbers); für System.out.print(numbers[index]); ändern sollten.

Mehr als, wenn Sie gerade Zahl, die größer als Eingabe (userAction=3, Ausgabe sollte 6, 8, 19 für Ihr Beispiel sein) drucken möchten, haben Sie einen Fehler in Ihrem Algorithmus. Was Ihr Algorithmus tut, ist einfach das Array userAction mal auszudrucken. Um es zu beheben können Sie diese Schnipsel verwenden:

for (int index = 0; index < numbers.length; index++) 
{ 
    if (numbers[index] > userAction) { 
     System.out.print(numbers[index]); 
    } 
}