[英]Java read words from file, and ask if it is an anagram
我正在嘗試用Java創建一個代碼,該代碼將從anagram.txt文件中讀取兩個單詞,然后查看這兩個單詞是否為anagram。 我收到錯誤java.lang.NullPointerException
。 我不確定自己在做什么錯,有什么建議嗎? 我猜想o2.Anagram()
需要有一些變量,但是我希望它從txt文件中調用Strings ...我是一個初學者,所以請不要嘲笑我:)謝謝!
這是一個從txt文件讀取的類:
import java.io.File;
import java.util.Scanner;
public class Klasa {
public Scanner x;
String s1;
String s2;
public void openFile(){
try{
x = new Scanner(new File("C:\\anagram.txt"));
}
catch(Exception e){
System.out.println("Error");
}
}
public void readFile(){
while (x.hasNext()){
String s1 = x.next();
String s2 = x.next();
}
}
public void closeFile(){
x.close();
}
}
這是一個類,應該比較anagram.txt
兩個單詞,看看它們是否是字謎:
import java.util.*;
import java.io.*;
public class isAnagram extends Klasa{
public void Anagram(){
boolean status = true;
if(s1.length() != s2.length()){
status = false;
}
else{
char[] s1Array = s1.toLowerCase().toCharArray();
char[] s2Array = s2.toLowerCase().toCharArray();
Arrays.sort(s1Array);
Arrays.sort(s2Array);
status = Arrays.equals(s1Array, s2Array);
}
//Output
if(status)
{
System.out.println(s1+" and "+s2+" are anagrams");
}
else
{
System.out.println(s1+" and "+s2+" are not anagrams");
}
}
}
這是主類:
public class mainClass{
public static void main(String[] args){
Klasa o1 = new Klasa();
o1.openFile();
o1.readFile();
o1.closeFile();
isAnagram o2 = new isAnagram();
o2.Anagram();
}
}
不要使用Scanner打開文件,而應使用FileReader / FileWriter類打開和編輯文件,然后使用Scanner類從文件中讀取文本。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.