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

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

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

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

Q&A

解決済

2回答

914閲覧

Java初心者です。初歩的な質問です。

okaa3

総合スコア2

Java

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

0グッド

0クリップ

投稿2021/05/12 09:44

前提・実現したいこと

java初心者です。以下のような実行文を出したいのですがエラーになってしまいます。

実行文
夕食はムニエルとスープです。
夕食はステーキとサラダです。

発生している問題・エラーメッセージ

SupperMenu.java:6: エラー: シンボルを見つけられません maindish = ムニエル; ^ シンボル: 変数 ムニエル 場所: クラス SupperMenu SupperMenu.java:7: エラー: シンボルを見つけられません sidedish = スープ; ^ シンボル: 変数 スープ 場所: クラス SupperMenu エラー2個

該当のソースコード

java class SupperMenu{ private String maindish; private String sidedish; public SupperMenu(){ maindish = ムニエル; sidedish = スープ; } public SupperMenu(String md, String sd){ maindish = md; sidedish = sd; } public void showMenu(){ System.out.println("夕食は"+maindish+"と、"+sidedish+"です。"); } } class Supper{ public static void main(String[] args){ SupperMenu sm1 = new SupperMenu(); SupperMenu sm2 = new SupperMenu("ステーキ", "サラダ"); sm1.showMenu(); sm2.showMenu(); } }

試したこと

どのような条件で発生するエラーかはわかり、一通りできることはやったが分かりませんでした。

補足情報(FW/ツールのバージョンなど)

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

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

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

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

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

dodox86

2021/05/12 10:24

> Java初心者です。初歩的な質問です。 回答はもういただいているので終わりだと思いますが、質問の件名は聞きたいことを反映したものにしましょう。また、「初心者」であることは質問に初心者マーク(若葉マーク)を付けることで分かります。 [質問するときのヒント] https://teratail.com/help/question-tips
m.ts10806

2021/05/12 20:14

質問は編集できます。タイトルが具体的でないと要件伝わりませんので今からでも。
guest

回答2

0

全角文字も変数に使える表現の1つにすぎません。

変数名のつけ方(識別子)

java

1 int; 2= 123; 3 System.out.println();

シンボルが見つけられない=変数が未定義
ということになります。

プログラムは書いたとおりにしか動きませんので、
書かれた内容を馬鹿正直に解析しようとします。

つまり、書かれたコードがどういう意図かなんてコンパイラは考慮しないし教えてくれないというわけです。本当にそのつもりで書いた可能性もあるから。

なので、今提示されているコードだけでは「どうしたらいいか」という確実なアドバイスにはなりにくいです。
そういう名前の変数を用意するような要件かもしれないからです。

「そういう文字列を設定する」なら既存回答の通りですが、
「本当にそれで要求仕様が満たせるかどうか」は考えたうえで対応してください。

※「初心者」ということからそこまで難解な仕様にはならないと思いますし、単純なミスであるというのは重々承知の上ですが、見ている人は赤の他人なので余程要求仕様が明確に示されてない限り決め打ちの回答というのは難しいのです

投稿2021/05/12 11:37

編集2021/05/12 11:38
m.ts10806

総合スコア80850

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

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

okaa3

2021/05/12 15:50

質問に情報の過不足がありました。ご教授いただいたことはとてもためになりました、これからの役に立てていこうと思います。
m.ts10806

2021/05/12 20:15

質問は編集できます。タイトルや内容が具体的でないと要件伝わりませんので今からでも。
guest

0

ベストアンサー

文字列を表す場合は、"で囲む必要があります

maindish = "ムニエル";

投稿2021/05/12 09:46

y_waiwai

総合スコア87774

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

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

okaa3

2021/05/12 15:47

ダブルコーテーションで囲むことが分かりませんでした。おかげで目的通り動作できました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問