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

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

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

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

Q&A

解決済

1回答

22401閲覧

JAVA コンパイルは成功したが実行できない

退会済みユーザー

退会済みユーザー

総合スコア0

Java

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

0グッド

0クリップ

投稿2015/05/10 15:48

投稿が初めてで乱筆失礼しますがよろしくお願いします。

JAVAプログラムを実行するときに、
「エラー:メインクラスcalcapp.main.Calcが見つからなかったかロードできませんでした」
と表示されてしまいます。

ソースコード
1,
package calcapp.main;
import calcapp.logics.CalcLogic;

public class Calc {
public static void main(String[] args) {
int a = 10; int b = 2;
int total = CalcLogic.tasu(a, b);
int delta = CalcLogic.hiku(a, b);
System.out.println("足すと" + total + "、引くと" + delta);
}
}

2,
package calcapp.logics;
public class CalcLogic {
public static int tasu(int a, int b) {
return(a + b);
}
public static int hiku(int a, int b) {
return(a - b);
}
}

コンパイル
C:\jworks>javac Calc.java CalcLogic.java
で2つのクラスファイルがjworks内にちゃんと生成されています。

実行
C:\jworks>java calcapp.main.Calc
でエラーが出ます。

テキスト(スッキリわかるJava入門 第2版)には3つのクラスパス指定方法が書かれており、
1,java -cp c:\jworks Calc
2,ユーザー環境変数の設定(変数名:CLASSPATH 変数値:C:\jworks)
3,特に指定しない
の3つとも試してみましたがどれも上記の結果になってしまいました。

OSはWindows8です。どなたか分かる方がいらっしゃいましたら
ご教授お願い致します。

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

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

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

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

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

guest

回答1

0

ベストアンサー

こんにちは。Javaはさっぱりな私ですが…。

どうやらJavaのクラスファイルはパッケージと同様のフォルダ構成で配置する必要があるようです。
以下の配置になっているか再度確認してみては如何でしょう。

C:\jworks
├ calcapp - main - Calc.class
└ calcapp - logics - CalcLogic.class

既に確認済みでしたら失礼致しました。

投稿2015/05/10 16:03

編集2015/05/10 23:37
Tak1wa

総合スコア4791

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

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

chokojori

2015/05/10 22:33

おしいというか... もうひとつcalcappディレクトリがいりますね。 .\calcapp\main\Calc.class .\calcapp\logics\CalcLogic.class となっている必要がありますね。
Tak1wa

2015/05/10 23:23

ご指摘ありがとうございます。 修正しておきます。
退会済みユーザー

退会済みユーザー

2015/05/11 01:32

ご回答ありがとうございます。Tak1wa様のおっしゃられたようにそれぞれのクラスファイルを上記のように配置しました。しかし実行したところ、やはり同じエラーが出てきてしまいました。 パスが間違っているのか、コマンドが違うのか分かりませんが、根本的に何か違うんでしょうか?(考えられる様々な要因を探ってみたつもりですが、コンパイルは成功し実行で毎度詰まってしまうのです・・・)
Tak1wa

2015/05/11 01:52

C:\jworks>java calcapp.main.Calc 実行は上記であってますが、同じようにされてますか?
退会済みユーザー

退会済みユーザー

2015/05/11 02:43

はい。どこかにタイプミスがあるのかと思い何度も確認しましたが正確に記述できていました。
Tak1wa

2015/05/11 02:51

では、 java -cp c:\jworks calcapp.main.Calc というようにクラスパスを指定した場合はどうです?
退会済みユーザー

退会済みユーザー

2015/05/11 06:17

無事に実行することができ、正しい実行結果も得られることが出来ました。 ご享受いただきありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問