前提・実現したいこと
プログラミングの勉強をし始めて2か月目の初心者です。
英語のスペルチェックをするシステムを作りたいです。
初めに正解の文字列が入力され、その後回答となる文字列が入力されます。
・正解の単語と完全一致→ ◯ 2 点
・正解の単語と長さ(文字数)が異なる→ × 0 点
・正解の単語と長さは同じだが 1 文字だけ異なる→ △ 1 点
・正解の単語と長さは同じだが 2 文字以上異なる→ × 0 点
といった具合に評価をし、最終的な点数を最後に表示したいです。
ある程度完成させたのですが、ある部分でよくわからないエラーが発生し、どのようにするべきかわからなくなってしまいました。
発生している問題・エラーメッセージ
Main.java:25: error: variable a is already defined in method main(String[]) for( String a : array ){ ^ Main.java:26: error: cannot find symbol if( array2.contains(a) ){ ^ symbol: method contains(String) location: variable array2 of type String[] Main.java:27: error: cannot find symbol array3.add(a); ^ symbol: method add(String) location: variable array3 of type String[] Main.java:28: error: cannot find symbol if (array3.size() == array.size() - 1){ ^ symbol: method size() location: variable array3 of type String[] Main.java:28: error: cannot find symbol if (array3.size() == array.size() - 1){ ^ symbol: method size() location: variable array of type String[] 5 errors
該当のソースコード
Java
1import java.util.*; 2 3 4public class Main { 5 public static void main(String[] args) { 6 // 自分の得意な言語で 7 // Let's チャレンジ!! 8 9 Scanner sc = new Scanner(System.in); 10 int num = sc.nextInt(); 11 int point = 0; 12 String[] array = null; 13 String[] array2 = null; 14 String[] array3 = null; 15 String a; 16 for ( int i = 0; i <= num; i++){ 17 String line = sc.next(); 18 String line2 = sc.next(); 19 20 if (line.equals(line2)){ 21 point += 2; 22 } if (line.length() == line2.length()){ 23 array = line.split(""); 24 array2 = line2.split(""); 25 for( String a : array ){ 26 if( array2.contains(a) ){ 27 array3.add(a); 28 if (array3.size() == array.size() - 1){ 29 point += 1; 30 } 31 } 32 } 33 } 34 System.out.println(point); 35 } 36 37 } 38}
試したこと
ネットで検索しましたが、良さそうなものが見つかりませんでした。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。