初めまして。
セッターを利用して「名前は、ポチです。」を出力させたいと考えていますが、エラーが発生してしまいます。
私の実力では、どこに誤りがあるのかわかりません。
もし何か、気になる箇所などございましたらご教授いただければと思います。
どうぞよろしくお願いいたします。
#私のコード
Java
1public class Main { 2 3 public static void main(String args[]) { 4 5 Dog dog = new dog(); 6 dog.SetName("ポチ"); 7 8 } 9 10 class Dog { 11 12 private String Name; 13 14 public void SetName(String nm) { 15 Name = nm; 16 } 17 18 public void ShowProfile() { 19 System.out.println("名前は、" + Name + "です。"); 20 } 21 } 22 23} 24
#エラー
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
dog cannot be resolved to a type at Main.main(Main.java:6)
VSCodeは構文チェック働かないんでしょうか。
環境きちんと整えられた方が良いのでは。(せっかく前の質問の回答でヒント出したのに・・・)
VSCodeでもその手のチェックをしてくれるプラグインはありそうなものですが・・・
というか、Mainクラス内にDogクラスを定義してるわけですか。
すみません、、、エラーが出力されるだけですね、、、デバックはできます。(もしかして、構文チェックとはデバックのことでしょうか)
VSコードは手順通り設定したのと、一応ソースコードの構文があっているときはちゃんと出力がなされるのでおそらく私が適切にコードの記述ができていないためにエラーが発生しているものと考えています。
>というか、Mainクラス内にDogクラスを定義してるわけですか。
なるほど、、、、まだまだJavaに対する理解が未熟で、気づけませんでした。毎度毎度、勉強になります。ありがとうございます。
ちなみになのですが、Mainクラス内にDogクラスを定義するとなぜ問題が発生してしまうのでしょうか??
構文チェックとデバッグは別です。(デバッ「グ」ですdebug)
構文チェックはそもそもJavaの構文にあわせてコードが書かれているかを確認するもので
デバッグはプログラムが想定の動作をしないときに分岐や保持している情報を確認して原因究明をしていく作業のことです
「なぜインナークラスにしたか」というところを詰める必要があります。
使えないわけではないですが、理由なしに使って有効活用できるものではないです(私はインナークラスほとんど使いません)
ご丁寧にありがとうございます。
「インナークラス」という概念自体、初めて知りました、、、
ありがとうございます。大変勉強になりました。
https://teratail.com/questions/261848#reply-375862
> 以後、このような初歩的なミスに気を付けて参ります。ありがとうございました。
今回の「Dog」と「dog」は以前の質問と同じような間違いですが、もうちょっと慎重に一字一句確認できませんか?
あとどんな環境で作業してるのかわかりませんが、IDEなどを使えばこういったミスタイプの類に関しては、どこで間違いが発生しているのかは指摘してもらえると思いますが。
こんな質問を何度もしてしまうぐらいなら、開発ツールの使い方から勉強された方が良いです。
ぐうの音も出ません。
ご指摘ありがとうございます。
開発ツールについては、まだきちんと勉強していないので一度勉強してみます。ありがとうございました。
多少重くても良ければeclipse使えば何も設定なしでこれまで指摘されたようなことはツールが指摘してくれるので幾つかの質問はしなくても済みましたよ。
そうなのですね、、、ありがとうございます。早速インストールしてみます
「オーバーロード」の質問された時に気づいたことはなかったのでしょうか。
https://teratail.com/questions/262085
もちろん先にコメントしたように、VSCodeでもそういうプラグインはあるのではないかと思います。そういう機能がないのでしたら広く使われることはないでしょうし。
eclipse使うならプラグイン追加済みのpleiades all in oneがおススメ。
https://mergedoc.osdn.jp/
皆さんありがとうございます。
確認してみました。実は、会社の研修として私はJavaの学習をしており、現時点では今の開発環境で学習をしてほしいと研修担当の方から指摘をいただきました。
そのため、今の環境で開発を続けたいと思います。なお、今後は過去にしてしまったような質問を再度することがないようにできる限りの注意をしていきたいと思います。
eclipseについても、使えるタイミングになりましたら早速使用してみます。ありがとうございました。
回答4件
あなたの回答
tips
プレビュー