JAVA Lesen Ganzzahlen bilden eine Text-Datei schreiben und auf dem Array-Listen

Ich habe eine text-Datei mit dem folgenden Inhalt:

0 12
1 15
2 6
3 4
4 3
5 6
6 12
7 8
8 8
9 9
10 13

Will ich Lesen Sie diese ganzen zahlen aus einer txt-Datei und speichern Sie die beiden Spalten in zwei verschiedenen arrays in Java.

Dank aioobe für seine nette Antwort für die den ersten Teil.

Nun will ich entwickeln, es in dieser Weise:

  1. Schreiben Sie eine Methode namens occurrence gegeben, die eine Zahl als input und schreiben Sie die Anzahl der vorkommen, dass diese Nummer hat.

  2. Schreiben Sie eine weitere Methode namens occurrences, dass nicht jeder input, sondern als output gibt es die Zahl, die große Anzahl von Wiederholungen (in der zweiten Spalte) in der Datei.

  3. Endlich, die Main Programm wird der Benutzer aufgefordert, zu schreiben eine Zahl von 1 bis 3.

1= Methode, die aus einer Eingabe-Zahl (das ist die Nummer in der ersten Spalte) gibt zurück die dazugehörige Zahl in der zweiten Spalte.

2= das erste vorkommen-Methode (mit Eingang)

3= der zweiten Instanz-Methode (die ohne input)

Ich schrieb den code, aber es gibt einige Fehler(über die übergabe der array-Liste einer Methode), und ich brauche Ihre Hilfe über die.
Ich bin ein JAVA-Anfänger, Also, wenn Sie fühlen, dass der code nicht passt, bitte machen Sie die erforderlichen änderungen vor.
Dies ist mein letzter code:

import java.util.*; //importing some java classes
import java.lang.*;
import java.io.*;

public class list {

    public static void main(String[] args) {

        //Read the text file and store them into two arrays:
        try {
            List<Integer> column1 = new ArrayList<Integer>();   //Defining an integer Array List
            List<Integer> column2 = new ArrayList<Integer>();   //Defining an integer Array List

            Scanner myfile = new Scanner(new FileReader("c:/java/data.txt")); //Reading file using Scanner

            while (myfile.hasNext()) {          //Read file content using a while loop
                column1.add(myfile.nextInt());      //Store the first integer into the first array list
                column2.add(myfile.nextInt());      //Store the next integer into the second array list
            }

            myfile.close(); //close the file

            System.out.println("column 1 elements are:\n" + column1);  //[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
            System.out.println("column 2 elements are:\n" + column2);  //[12, 15, 6, 4, 3, 6, 12, 8, 8, 9, 13]

            //Getting a number(1-3) from user:
            Scanner cases = new Scanner(System.in);
            System.out.println("Enter a number between 1-3: "); 
            int num = cases.nextInt();

            switch (num) {
                case 1:
                    Scanner case1 = new Scanner(System.in);
                    System.out.println("Enter a number from first column to see how many occurrences it has: "); 
                    int numb = case1.nextInt();
                    System.out.println(column2.get(numb));
                    break;
                case 2:
                    occurrence(column2.toArray());
                    break;
                case 3:
                    occurrences(column2.toArray());
                    break;              
                default: System.out.println("the number is not 1 or 2 or 3!"); 
            }

        } catch (Exception e) {     //we defined it just in the case of error
            e.printStackTrace();    //shows the error
        }

    } //End of MAIN


    public void occurrence(int[] arg) { //Defining occurrence method

        int count = 0;

        //Getting a number from user input:
        Scanner userin = new Scanner(System.in);
        System.out.println("Enter an integer number: "); 
        int number = userin.nextInt();        

        //Finding the occurrences:
        for (int i = 0; i < arg.length; i++)
            if (arg[i] == number) count++;

        System.out.println( number + " is repeated " + count + " times in the second column.");
    } //End of occurrence method


    public void occurrences(int[] arg) {    //Defining occurrenceS method

        int max = 0;

        //Finding the maximum occurrences:
        for (int i = 1; i < arg.length; i++)
            if (arg[i] > arg[max]) max = i;
            System.out.println( max + " is the most repeated  number." );
    } //End of occurrenceS method


}
InformationsquelleAutor Mehdi | 2011-06-09
Schreibe einen Kommentar