मुझे फ़ाइल 1 में शब्द 1 की समानता को फ़ाइल 2 में शब्द 2 के साथ मान्य करना होगा और इसी तरह। यदि शब्द 1 (फ़ाइल 1)। शब्द 2 (फ़ाइल 2) के लिए असमान, फ़ाइल 3 सही और गलत दिखाने के लिए आउटपुट होगा। नीचे कोडिंग है लेकिन जब कोई त्रुटि नहीं है लेकिन आउटपुट नहीं दे रहा है तो मैं अटक गया हूं। जावा में एक नौसिखिया हूँ।दो फाइलों में समान शब्द (तार) ढूंढने के लिए
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
public class test2 {
private static ArrayList<String> load(String f1) throws FileNotFoundException {
Scanner reader = new Scanner(new File(f1));
ArrayList<String> out = new ArrayList<String>();
while (reader.hasNext()) {
String temp = reader.nextLine();
String[] sts = temp.split(" ");
for (int i = 0; i < sts.length; i++) {
if (sts[i].equals("") && sts[i].equals(" ") && sts[i].equals("\n")) {
out.add(sts[i]);
}
}
}
return out;
}
private static void write(ArrayList<String> out, String fname) throws IOException {
FileWriter writer = new FileWriter(new File("out_test2.txt"));
for (int i = 0; i < out.size(); i++) {
writer.write(out.get(i) + "\n");
}
writer.close();
}
public static void main(String[] args) throws IOException {
ArrayList<String> file1;
ArrayList<String> file2;
ArrayList<String> out = new ArrayList<String>();
file1 = load("IbanDict.txt");
file2 = load("AFF_outVal.txt");
for (int i = 0; i < file1.size(); i++) {
String word1 = file1.get(i);
for (int z = 0; z < file2.size(); z++) {
if (word1.equalsIgnoreCase(file2.get(z))) {
boolean already = false;
for (int q = 0; q < out.size(); q++) {
if (out.get(q).equalsIgnoreCase(file1.get(i))) {
already = true;
}
}
if (already == false) {
out.add(file1.get(i));
}
}
}
}
write(out, "out_test2.txt");
}
}
आप अपने कोड फ़ॉर्मेट कर सकते हैं के लिए मेरे सुझाव थोड़ा बेहतर:
आपका निश्चित कोड कुछ इस तरह दिखेगा? पढ़ना मुश्किल है। साथ ही - क्या आपने फ़ाइल 3 की तुलना या लिखते समय प्रत्येक ArrayList और/या चर को वास्तव में देखने के लिए अपने प्रत्येक लूप के माध्यम से कदम उठाने के लिए डीबग किया है? – Jack
कृपया अपनी पोस्ट संपादित करें और संरचना को दिखाने के लिए कोड को इंडेंट करें। यह अपने वर्तमान राज्य में अपठनीय है। –
आप लेवेनशेटिन दूरी में देखना चाह सकते हैं। कुछ जावा पुस्तकालय/एल्गोरिदम हैं जो पहले से मौजूद हैं। – Mike