🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Java

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

Q&A

解決済

1回答

1492閲覧

エンターキーでの処理

kwkw7575

総合スコア12

Java

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

0グッド

0クリップ

投稿2019/10/30 05:43

編集2019/10/30 07:10

すみません。あまりにも丸投げでしたので、編集の上投稿いたします( ;∀;)
下記のコードでコンパイルしようとしたら、

C:\practice>javac kadai.java
kadai.java:35: シンボルを解釈処理できません。
シンボル: 変数 getString
位置 : kadai の クラス
while(getString!='\n');
エンターキーを押した回数に合わせてs[i]の文字列を表示したくてコードを書いたのですが、
どのようにしたらエラーがなくなり上手くコンパイルできるか教えて頂きたいです。

import java.io.*;0. class mon{ public static void main(String args[]){ File file = new File("maze.dat"); if(!file.exists()){ System.out.print("null"); return; } try{ FileReader fileReader = new FileReader(file); BufferedReader bufferedReader = new BufferedReader(fileReader); String data; while((data = bufferedReader.readLine())!=null){ System.out.println(data); } String s[]= new String[13]; s[1]="*s******\n*. * *\n* * ** *\n* * * *\n* * **\n*** * **\n* * *\n******e*"; s[2]="*s******\n* . * *\n*.* ** *\n* * * *\n* * **\n*** * **\n* * *\n******e*"; s[3]="*s******\n* . * *\n* * ** *\n*.* * *\n* * **\n*** * **\n* * *\n******e*"; s[4]="*s******\n* * *\n* *.** *\n* * * *\n*.* **\n*** * **\n* * *\n******e*"; s[5]="*s******\n* * *\n* * ** *\n* *.* *\n* * **\n*** * **\n* * *\n******e*"; s[6]="*s******\n* * *\n* * ** *\n* * * *\n* *. **\n*** * **\n* * *\n******e*"; s[7]="*s******\n* * *\n* * ** *\n* * * *\n* * . **\n***.* **\n* * *\n******e*"; s[8]="*s******\n* * *\n* * ** *\n* * * *\n* * .**\n*** * **\n* .* *\n******e*"; s[9]="*s******\n* * *\n* * ** *\n* * * *\n* * **\n*** *.**\n* . * *\n******e*"; s[10]="*s******\n* * *\n* * ** *\n* * * *\n* * **\n*** * **\n*. *. *\n******e*"; s[11]="*s******\n* * *\n* * ** *\n* * * *\n* * **\n*** * **\n* * .*\n******e*"; s[12]="*s******\n*... * *\n*.*.** *\n*.*.* *\n*.*...**\n***.*.**\n*...*..*\n******e*"; for(int i = 0;i<13;i++){ while(getString!='\n'); System.out.println(s[i]); } File file2 = new File("maze_result.dat"); FileWriter filewriter = new FileWriter(file2); filewriter.write(s[12]); bufferedReader.close(); }catch(Exception e){ e.printStackTrace(); } } }

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

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

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

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

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

tokyo2020

2019/10/30 06:15 編集

読みやすいようにインデントを揃えてください。
m.ts10806

2019/10/30 06:20

マークダウンしないままインデントをいじっても行頭スペースは詰められるのでマークダウンのcode機能を利用してください。 ただ、このタイトルだと宿題や課題の代行です。「起きている問題」に対して「質問」で「解決」するサイトです。 質問者さんが欲しているのは先生です。その問題を出した人に聞きましょう
m.ts10806

2019/10/30 07:03

できればタイトルも、要件のみを記載してください。今のタイトルは質問に「質問です」とだけ書くようなものです。
A-pZ

2019/10/30 07:17

getString がどこにも宣言されていないのでコンパイルエラーが出ます。 getStringと書かれている場所は何かを処理するメソッドとしたいのか、変数としたいのかで実装が変わるかと思います。具体的にどのような処理をしたくてwhileを使ったのかを追記していただいた方が、明確な回答や解決につながるでしょう。
kwkw7575

2019/10/30 07:22

m.ts10806さん、m.ts10806ご指摘ありがとうございます。 徐々にではありますがまともな質問ができるよう勉強します。
kwkw7575

2019/10/30 07:31

A-pZさんコメントありがとう御座います。 エンターキーを押した回数=s[i] にしたかったんですが全く分からなかったため、ネットから拾てきたものでしたので なぜ?エンターキーの回数が反映されるか理解していないまま書いてしまったので もう少し理解して書かないといけなかったですね。 whileを使った理由も含めてもう少し勉強してみます。
guest

回答1

0

ベストアンサー

エラーの内容は getString という変数がないということです。
ソースファイルのどこにも String getString などとした箇所がありません。
もしメソッド呼び出しの書き損じだとしても、private static String getString() に相当するメソッドもクラス内に定義されていません。

ですので、標準入力から文字を読み取るという処理を書いて、そこから受け取れた内容を判定する必要があります。

改行コードを入力するたびに出力するという部分のコードは次のように書けば良いのではないでしょうか。

java

1for(int i = 0; i < s.length; i++){ // 13 は s の要素数の意味なのでこのように・・・ 2 System.in.read(); // 改行キーが押されるまで待ち 3 System.out.println(s[i]); 4} 5

最近ではこのような単純なケースで添字は使わない傾向にあります。

java

1for (String v : s) { 2 System.in.read(); 3 System.out.println(v); 4}

ご参考まで。

投稿2019/10/31 00:33

ironya

総合スコア456

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

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

kwkw7575

2019/10/31 01:01

丸投げな質問に対して回答して頂きありがとうございますm(_ _)m s.lengthが出来ることが知らなかったので、lengthを理解していなかったのと、getString を使う際にしっかり定義しなければいけないなど とても勉強になりました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問