プロが教えるわが家の防犯対策術!

jp.co.checkに格納したCheckDataクラスを
jp.co.dataのmainメソッドで呼び出したいのですが、

C:\j\jp\co\alpha\subject>javac data\ex31.java
data\ex31.java:7: check.CheckData にアクセスできません。
クラスファイル .\check\CheckData.java は不正です。
ファイルにクラス check.CheckData が含まれていません。
削除するか、クラスパスの正しいサブディレクトリにあるかを確認してください。
check.CheckData a = new check.CheckData();

というエラーメッセージが出ます。
作成したソースは

package jp.co.data;

public class ex31
{public static void main(String args[])
{
int x = 333;
check.CheckData a = new check.CheckData();

a.checkNum(x);
}
}

これと以下の

package jp.co.check;

public class CheckData
{
public int checkNum(int a)
{
if(a > 0)
System.out.println("true");
}
}

2つです、どなたか教えてください。

A 回答 (3件)

異なるパッケージのクラスなどを利用する場合はimportしましょう。



概念がわかっていないのに利用するのは、あまり利口とは言えません。ちゃんと理解して使った方がいいですよ。
    • good
    • 0

こんにちは。



補足ですが、このようにimport文を書いてみてください。

--------------------------------------
package jp.co.data;

import jp.co.check.CheckData; // 追加したもの

public class ex31
--------------------------------------

import文を追加すれば、CheckDataクラスを認識できるようになるので、以下のようにクラス名だけの定義でよくなります。

CheckData a = new CheckData();
    • good
    • 0

今晩は、


私のやり方を下記に示します。参考にしてください。

package jp.co.check;

public class CheckData{
public int checkNum(int a){
if(a > 0){
System.out.println("true");
}
return a;
}
}

package jp.co.data;
import jp.co.check.*;

public class ex31{
public static void main(String args[]){
int x = 333;
CheckData a = new CheckData();
x=a.checkNum(x);
System.out.print(x);
}
}


コンパイルはすべてを見渡せるところからやります。


C:\java>javac jp\co\check\CheckData.java

C:\java>javac jp\co\data\ex31.java

実行も、すべてを見渡せるところからやります。

C:\java>java jp.co.data.ex31
true
333

無事出来ました。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!