質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.49%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Q&A

解決済

1回答

22564閲覧

なぜエラーが出るのかわかりません

i_moco

総合スコア8

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

1グッド

1クリップ

投稿2018/07/04 13:38

前提・実現したいこと

プログラミングの勉強をし始めて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/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

DrqYuto👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

variable a is already defined in method main(String[])

書いてあるとおり、変数名が重複しています。
プログラムの頭の方のString a;を削除してください。

cannot find symbol

それらのメソッドはListインターフェースのものです。
配列ではなくArrayListを使うと良いでしょう。


あれ、これひょっとしてPaizaスキルチェックの問題でしょうか?
もしそうならばあんまり詳しい回答は出来ないですね。

第12条(禁止行為)

ブログ・SNS等の各種媒体(インターネット媒体に限られず、不特定多数が閲覧可能なものを全て含む。)上において、当社がpaizaで出題した問題の内容、当該問題に対する解答、解答へのヒント等の示唆およびカンニング等の不正を助長する内容等を掲載する行為。

引用元:paiza(パイザ) 利用規約

投稿2018/07/04 13:43

編集2018/07/04 13:50
LouiS0616

総合スコア35660

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.49%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問