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

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

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

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

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

Q&A

6回答

1580閲覧

Java コンパイル出来たけど実行できません.

PON.chan

総合スコア5

Java

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

コマンドプロンプト

コマンドプロンプト(cmd.exe)はMicrosoftによって提供されているコマンドラインインタプリタです。OS/2・Windows CE・Windows NTで使用可能です。

コンパイル

コンパイルとは、プログラミング言語のテキストソース(ソースコード)をコンピュータ上で実行可能な形式(オブジェクトコード)に変換することをいいます

プログラミング言語

プログラミング言語はパソコン上で実行することができるソースコードを記述する為に扱う言語の総称です。

0グッド

1クリップ

投稿2020/04/19 17:08

編集2020/04/19 23:34
コード ```### 前提・実現したいこと プログラミング初心者です.今現在Java言語を勉強しているのですが,コンパイルしたコードを実行することが出きません. どうしたら実行できるようになるでしょうか. コマンドプロンプトからコンパイルと実行はしています. ### 発生している問題・エラーメッセージ C:\Users\ryuji\java>javac calcapp\main\Calc.java C:\Users\ryuji\java>java calcapp\main\Calc.java エラー: メイン・クラスcalcapp\main\Calc.javaが見つからなかったかロードできませんでした ### 該当のソースコード ```ここに言語を入力 //main public class Calc { public static void main(String[] args){ int a = 10; int b = 2; int total = calcapp.logics.CalcLogics.tasu(a,b); int delta = calcapp.logics.CalcLogics.hiku(a,b); System.out.println("足すと"+total+"引くと"+delta); } }
//logics package calcapp.logics; public class CalcLogics{ public static int tasu(int x, int y){ return x+y; } public static int hiku(int x, int y){ return x-y; } }

試したこと

実行する際にcdコマンドを使いmainまで移動して実行もしました.
C:\Users\ryuji\java\calcapp\main>java Calc
エラー: メイン・クラスCalcが見つからなかったかロードできませんでした

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

ファイルは
User/ryuji/java/calcapp/main←このmainにCalc.javaが入っています.
User/ryuji/java/calcapp/logics←このlogicsにCalcLogics.javaが入っています.

使っているのはVisual Studio Codeです.
OSはWindowsです.

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

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

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

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

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

m.ts10806

2020/04/19 20:41

コードはマークダウンのcode機能を利用してご提示ください。
PON.chan

2020/04/19 23:31

初めての質問だったのですいません! 修正します.
dodox86

2020/04/20 01:07

どうも分からないのですが、 > コマンドプロンプトからコンパイルと実行はしています. コマンドプロンプト上で直接、コンパイルと実行をした場合はOK、と言うことですか? で、VIsual Studio Code上でコンパイルと実行をした場合にエラーになるということでしょうか? > C:\Users\ryuji\java>java calcapp\main\Calc.java > エラー: メイン・クラスcalcapp\main\Calc.javaが見つからなかったかロードできませんでした これは、Visual Studio Codeのターミナル上そう表示されているということですか? ※ javaコマンドにCalc.javaと拡張子をつけて実行しているので、少なくともこれではダメです。
PON.chan

2020/04/20 07:38

コマンドプロンプト上でコンパイルは通ったのですが,実行が出来ませんでした. すいません,拡張子は転記ミスです.
Zuishin

2020/04/20 11:01

私の回答の通りにして実行できませんか?
Zuishin

2020/04/20 11:01

できないなら、エラーメッセージを書いてください。
Zuishin

2020/04/21 08:40

「スッキリわかるJava入門」か。ろくでもない本らしい。
Zuishin

2020/04/21 08:42

ろくでもない本だとしても、書籍の内容を無断で書いて引用先を書かないのは有り得ない。
guest

回答6

0

Calc.java に package calcapp.main; を書いてください。
そしてコマンドプロンプトで次のように打ち込んでください。
cd C:\Users\ryuji\java
javac .\calcapp\main\Calc.java -encoding cp932
javac .\calcapp\logic\CalcLogic.java -encoding cp932
java calcapp/main/Calc

コンソールのコードページを utf-8 にしている場合は -encoding utf-8 です。

追記

package宣言 | Javaコード入門

パッケージの名前は、一般的に自分が所有しているドメインを逆にしたもの――mynavi.example.comを所有しているのであれば、パッケージ名はcom.example.mynaviで始まるようにすべきです。これによって、パッケージが一意であることを保証できるからです。

また、クラスの保存先はパッケージ階層に対応していなければなりません。com.example.mynavi.objectパッケージに属するクラスは、/com/example/mynavi/objectフォルダーに保存しなければなりません。

実行できないのはつまり、calcapp.main パッケージに属さない Calc クラスがディレクトリ calcapp\main にあるからです。

これを解消する方法は、既に書いたように、パッケージ宣言を書いてそのディレクトリに置けるようにする、または Calc.class をカレントディレクトリに置くこと(こちらは推奨しません)です。

そしてディレクトリ構成、つまりパッケージの名前が良くありません。上記リンク先に書いてあるように、自分の所有しているドメイン名から作成し、他の作者の作ったパッケージと競合しないようにすることが推奨されています。

Javaのパッケージ名の命名には2019年でも所持ドメインの逆順を使うべきなのか調べた - Qiita

このページにも書かれているように、確かにそれは必ずしも守られているとは限りませんが、無用な混乱やバグの混入を防ぐためにも、推奨されていることを守るのが良いでしょう。

ドメインを所有していない場合には、次のパッケージ名登録/利用サービスを利用するという手もありますね。

パッケージ名登録/利用サービスについて

また、GitHub に登録し、その URL を使うという人もいるようです。

投稿2020/04/20 01:43

編集2020/05/01 02:31
Zuishin

総合スコア28669

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

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

0

構成が・・・・・

# C:\Users\ryuji\java> javac calcapp\main\Calc.java java -cp .:calcapp\main Calc

あたりかな

投稿2020/04/20 14:31

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2020/04/20 14:34

パッケージをちゃんと指定しましょう。 IDEを使うべき
guest

0

javac -d <クラスファイルの出力先>

javac -d .でカレントディレクトリにコンパイルしたCalc.classを置くやり方があります。

cmd

1C:\Users\ryuji\java>javac -d . calcapp\main\Calc.java 2C:\Users\ryuji\java>java Calc 3足すと12引くと8

-d オプションをつけたコンパイルはその場しのぎに過ぎません。そもそもcalcapp\main\にパッケージ宣言していないCalc.javaがあるのが間違いのもと。

  • Calc.javaをC:\Users\ryuji\java\の配下に置く
  • calcapp\main\Calc.javaにパッケージ宣言package calcapp.main;を記述する。

どちらかの方法で解決してください。

投稿2020/04/20 13:57

xebme

総合スコア1090

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

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

Zuishin

2020/04/20 14:12

ディレクトリが変わってもいいなら、Calc.java を移動させればいいのでは?
xebme

2020/04/20 14:22

>ディレクトリが変わってもいいなら、Calc.java を移動させればいいのでは? ・Calc.javaをC:\Users\ryuji\java\の配下に置く 、がそのつもりだったのですが。 PON.chanはJavaのパッケージ構成とクラスパスを学ぶこと。
退会済みユーザー

退会済みユーザー

2020/04/20 14:33

というよりメインクラスにパッケージを指定しろよとw
Zuishin

2020/04/20 14:46

Calc.class のことかと思っていました。Calc.java と書いてありますね。すみません。
Zuishin

2020/04/20 14:47

ついでに聞くんですが、私の回答の低評価は何ですか?
Zuishin

2020/04/20 14:49

コメントの時間から見て、質問者は私の回答を見ているはずなのに、完全に無視されていますが、それに加えて低評価を食らわなければならないほどひどい回答ですか?
退会済みユーザー

退会済みユーザー

2020/04/20 14:49

おそらく、 Javac のカレントディレクトリが絶妙な位置なので偶然コンパイル通っただけの気がする
Zuishin

2020/04/20 14:51

いえ、カレントディレクトリは cd で指定しています。
退会済みユーザー

退会済みユーザー

2020/04/20 14:52

質問者のね
Zuishin

2020/04/20 14:53

ああ、無視されたわけですか。
xebme

2020/04/20 22:44

Zuishinさん、asahina1979さん、コメントありがとうございます。 正論をいうなら、ソースディレクトリ(フォルダ)の構成は、パッケージ階層を自然に反映する構成にしてください。余計なところに時間を使わないでJavaの勉強に集中してください。ですね。
Zuishin

2020/04/20 23:00

最初から自然に反映する構成にする手続きを書いた回答でしたが、なぜ低評価がついているのか知りたいです。 どこが悪いのでしょうか?
xebme

2020/04/21 00:45

Zuishinさん、私は低評価をつけません。実は、一度だけLouiS0616さんの回答(LouiS0616さんのローカルクラスの回答だったと思います。asahina1979さんが知っています)に低評価をつけたことがありますが、匿名で評価できることがわかり、評価を撤回しました。以後、低評価をつけたくなった時はコメントしています。
Zuishin

2020/04/21 02:13 編集

いえ、誰が低評価をつけたというのではなく、低評価の理由が全くわからないので、理由を推察できそうな人に聞いただけです。私の回答に特に問題はなく、低評価をつけた人がただの無知だったということでよろしいでしょうか?
xebme

2020/04/21 02:24

初めにパッケージ宣言しろと言っているので正論ですね。
Zuishin

2020/04/21 02:34

ありがとうございます。お手数おかけしました。
guest

0

VS Code Java 実行

でググります。
タイトルにも本文にも、必要がない限り全角空白は使わない方が良いです。
濁点、半濁点は正しく書けないと就職や転職に不利です。

投稿2020/04/19 18:21

Orlofsky

総合スコア16417

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

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

PON.chan

2020/04/19 23:34

ご指摘ありがとうございます.
Orlofsky

2020/04/20 00:45

[回答]に書いたように質問を直す気はない?
guest

0

JAVA_HOMEを設定してないのでは?

VSCodeでJavaも使えるように設定

投稿2020/04/19 18:11

mike2mike4

総合スコア935

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

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

PON.chan

2020/04/19 23:47

確認したところ設定は出来ていました!
guest

0

C:\Users\ryuji\java フォルダで
java -cp . calcapp.main.Calc
としてみては如何でしょうか.

投稿2020/04/19 18:03

編集2020/04/19 18:13
jimbe

総合スコア13209

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

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

PON.chan

2020/04/19 23:34

試してみましたが動きませんでした!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問