Je lis deux fichiers et je veux pour chaque ligne dans le fichier un résumer toutes les lignes dans le fichier deux. Jusqu'à présent, j'ai écrit le code ci-dessous, mais il ne le fait que pour la première ligne dans les fichiers. Voici mon code et mes fichiers d'exemple. Attention, je veux dire java.util.NoSuchElementException
Lire à partir de deux fichiers et prendre des produits croisés
import java.io.*;
import java.util.Scanner;
import java.util.StringTokenizer;
public class knn {
public static void main (String[]args)throws IOException{
Scanner in = new Scanner(new FileInputStream("knn.txt"));
Scanner in2 = new Scanner(new FileInputStream("knn2.txt"));
while(in.hasNextLine()){
String linetoprocess = in.nextLine();
StringTokenizer st = new StringTokenizer(linetoprocess, " :");
while(in2.hasNextLine()){
String linetoprocess2 = in2.nextLine();
StringTokenizer st2 = new StringTokenizer(linetoprocess2, " :");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.print("("+st.nextToken()+","+st2.nextToken()+"), ");
System.out.println("("+st.nextToken()+","+st2.nextToken()+")");
}
}
}
knn.txt
1 1: 5,1 2: 3,5 3: 1,4 4: 0,2
1 1: 4,9 2: 3,0 3: 1,4 4: 0,2
1 1: 4,7 2: 3,2 3: 1,3 4: 0,2
knn2.txt
1 1: 5,4 2: 3,7 3: 1,5 4: 0,2
1 1: 4,8 2: 3,4 3: 1,6 4: 0,2
1 1: 4,8 2: 3,0 3: 1,4 4: 0,1
1 1: 4,3 2: 3.0 3: 1.1 4: 0,1
fournir une sortie de l'échantillon afin que nous puissions voir ce que vous essayez de faire réellement. –
(1,1), (1,1), (5,1,5,4), (2,2), (3,5,3,7), (3,3), (1,4,1,5), (4,4), (0,2,0,2) ----- (1,1), (1,1), (5,1,4,8), (2,2), (3,5,3,4), (3,3), (1,4,1,6), (4,4), (0,2,0.2) – fanbondi
Je l'ai eu j'aurais dû appeler appelé st.nextToken() avant la boucle while interne. Merci pour vos suggestions. – fanbondi