
public class A{
public static void B(String[] args){
C D = new C();
D.E(F);
}
}
public class C{
private String F;
public C(){
F =“Practice”;
}
protected static void E(String F){
System.out.println(F);
}
}
以上のプログラムで
型 CのメソッドE(String)は引数()に適用できません
ローカル変数Fの値は使用されていません
型CからのメソッドF(String[])はローカルで使用されません
の3つのエラーがでてしまいます。
アクセス修飾子を変更・追加・削除しないで解決するため、新しいインスタンスを作成したり、Cにnullをいれてみたりしてみたり他にもいろいろしてみたのですがちがうエラーのがでたりエラーの数が増えてしまいます。
No.6ベストアンサー
- 回答日時:
提示されているコードで、Sub::output(String) の呼び出しなどは
Main.javaに存在しないので、別なファイルをコンパイルしようと
しているとか、編集を保存し損ねていたとか、そういう勘違いは
ありませんか?
あとよく覚えてませんが、パッケージ名に数字と記号だけの組み合わせは
コンパイル通りますか?
素直にコードするとちゃんと動きますね。
オンラインサービスなのでpackage定義はできませんが。
https://paiza.io/projects/gQyqtlvANQ86Rg3nJxVOuQ
No.3
- 回答日時:
静的メソッド(static)でインスタンス変数を扱うことはできません。
"Practice"が出力される真っ当なコードは下記になります。
https://paiza.io/projects/DdTs3JVSEFmiRqR1Amecxg
No.2
- 回答日時:
引数と変数の違いを理解できていないと思います。
メソッドEからString Fを削除し、
D.E(F)をD.E()に変更してください。
それだけで、インスタンス変数のFは出力されます。
No.1
- 回答日時:
Cクラスのインスタンス変数であるFと、Eメソッドの引数であるFが区別つかないからです。
引数がFではなくGになれば解決します。
あとAクラス内にFなんて変数は存在しないので、D.E(F)は実行不可能です。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- Java java final 1 2022/06/10 22:49
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- Java 直し方について教えて頂きたいです。 4 2022/08/13 02:11
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- C言語・C++・C# 大量のデータを読み込んで表示する速度を改善したい 8 2023/05/07 13:29
- Ruby 【JAVA】数字をひし形に出力するプログラムについて 2 2022/07/11 23:32
- Java javaでのプログラム(配列)について質問です. 2 2022/10/14 22:27
- Java javaのクラスの分け方について質問です。 APIの内部用と外部用でクラスを分けたいのですがインター 2 2022/04/26 16:06
このQ&Aを見た人はこんなQ&Aも見ています
-
Java初心者です、エラーの意味が理解できません
Java
-
Eclipseで、プロジェクト名のところに赤いバッテンのエラーマークが
Java
-
final修飾子を使っているのに、なぜエラーが出るのでしょうか?
Java
-
-
4
javaのエラーの意味がわかりません、お願いします
Java
-
5
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
6
データ数をカウントしたいのですが
Java
-
7
CASE文のエラーについて
Oracle
-
8
webアプリを作ってます。エラーがあります。
Java
-
9
java eclipse 型に解決できません
Java
-
10
JSPファイルで生じるエラーをどのように修正するか分かりません
Java
-
11
eclipseのエラーについて質問です。プログラムを実行すると、 〜を変数に解決できません 〜を型に
Java
-
12
構文エラーのやり直しについて
JavaScript
-
13
JSPのクラスをコンパイルできない問題
Java
-
14
Eclipse「リフレッシュ」と「クリーン」の違い
Java
-
15
java初心者です。入力されたのが数字なら出力し、数字以外が入力されたらもう一度入力する繰り返し処理
Java
-
16
[JAVA]try 内の変数を外で!?
Java
-
17
エクセルである行以下全部を削除する方法
Excel(エクセル)
-
18
Eclipse・プロジェクトで、フォルダをパッケージとして認識する
Java
-
19
プログラムの規模を表す単位「k」とはどういう意味ですか?
その他(プログラミング・Web制作)
-
20
eclipseに記述したjavaファイルに黄色の波線
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
レコード件数の表示
-
Java初級 引数に適用できません
-
PreparedStatementのレスポンス...
-
別クラスのmainメソッドの実行
-
説明文書でのメソッド・変数の...
-
メソッドの引数に指定されてい...
-
JUnitのテストメソッドごとのメ...
-
abstract と static を一緒に付...
-
静的メソッドとインスタンスメ...
-
Strutsでチェックボックスの値...
-
String.containsの反対機能はあ...
-
staticのメリット、デメリット
-
Java初心者です。例外のキャッ...
-
親の親のメソッドを呼ぶには?
-
メソッド宣言の戻り値の型にク...
-
オーバーライドの必要性
-
Javaのメモリの管理
-
「タイプ初期化子が例外をスロ...
-
VB.NETでフォーム上にExcelのよ...
-
JSPで<SELECT>の中にDBから持っ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Java初級 引数に適用できません
-
String.containsの反対機能はあ...
-
abstract と static を一緒に付...
-
レコード件数の表示
-
コマンドライン引数のチェック
-
StringBufferからStringへキャ...
-
別クラスのmainメソッドの実行
-
Google Apps Script で getRang...
-
JUnitのテストメソッドごとのメ...
-
なぜprotected overrideなのか
-
C言語での文字列より値を抜き出す
-
Java初心者です、エラーの意味...
-
メソッド宣言の戻り値の型にク...
-
シェルスクリプトからのJavaメ...
-
YYYYMMDD書式の日付に対する適...
-
メソッドの引数に指定されてい...
-
System.out.print
-
クラスを作るとメソッドの数が...
-
Strutsでチェックボックスの値...
-
public static void main (Stri...
おすすめ情報
インスタンスは作成したので読み込めていると思っていました。
変数Fの内容を出力したい場合はあたらしく変数を作成しそこにFの内容を格納したらよいのでしょうか?
ありがとうございます。渡す側と受け取り側両方に何かいれないといけないと思っていました。
D.E()に変更すると
メソッドE(String)は引数()に適用できません
msgを変数に解決できません。
フィールドC.Fの値は使用されていません
と表示されるようになりました。
StaticやVoidの削除などしましたが解決せず、Tipsではfinalやらobjectの作成なるものがでてきましたがまだ、この課題までにはでてこなかったので使わなくてもできるはずなのですが。
わざわざ作成頂きありがとうございます!!
なぜか型メソッドE(String)は引数()に適用できませんというエラーだけが残ってしまいます。
それぞれのclassを別ファイルで作成してpackageで関連付けしているのですが、これが原因でしょうか?
作って頂いたコードの通りです。
エラーはでてませんが変数DをD.E()の直前にD.G(H,I)で別の変数を出力するメソッドを呼び出しています
ファイルMain.java
package 2-1;
public class Main{
public static void main(String[] args){
String text1 = “Lesson”;
String text2 = “2-1”;
Sub moji = new Sub();
moji.connect(text1, text2);
moji.output();
}
}
ファイルSub.java
package 2-1;
public class Sub{
private String message;
public Sub(){
message = “practice”;
}
protected void connect(String text1, String text2){
String plus = text1 + text2;
System.out.println(plus);
}
protected void output(){
System.out.println(message);
}
}
エラーはmoji.output();の行に
型Subのメソッドoutput(String)は引数()に適用できません
だけです。