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

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

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

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

Q&A

解決済

3回答

3586閲覧

足し算について(paiza)※ヒントのみ

Ezaki_302room

総合スコア13

Java

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

0グッド

0クリップ

投稿2016/01/18 14:11

編集2016/01/19 16:04

paizaで勉強するためこの様にソースを書きました。

package test;

public class tashizan {

public static void main(String[] args) { class Main{ public int sum(int a,int b){ return a + b; } } }

}

eclipse上ではなんのエラーも出さないのですが
paizaではMain.java:3: error: class tashizan is public, should be declared in a file named tashizan.java
public class tashizan {
とエラーが出てきます。
簡単にこのエラーの意味を教えてほしいです。
答えはなるべく言わないでほしいです。(無茶苦茶なことですが)
よろしくお願いします。

イメージ説明

考え方はあってるでしょうか?

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

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

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

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

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

guest

回答3

0

paiza.ioでjavaを選択すると下記のコードが表示されます。

java

1import java.io.BufferedReader; 2import java.io.InputStreamReader; 3 4public class Main { 5 public static void main(String[] args) throws Exception { 6 // Here your code ! 7 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 8 String line = br.readLine(); 9 } 10}

このコードをそのままで実行してください。おそらくエラーなく実行出来ると思います。
実行できることを確認したら、1行ずつ上記のコードに近づけて下さい。

変更毎に実行して、エラーになったところが問題点です。

出来る限り1行ずつ変更しては実行することがコツです。

あと2つヒントを用意しました。これでわからなければ、コメント下さい。

投稿2016/01/18 18:01

iwamoto_takaaki

総合スコア2883

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

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

Ezaki_302room

2016/01/19 16:07

すみません、わかりませんでした。 上記のコードはエラーなく実行できましたが、 これにpublic int sum(int a , int b); を付け足すと今までなかったエラーをはいてしまいます(イメージ参照) そもそも考え方はあってるのでしょうか?
swordone

2016/01/19 16:24

もうJavaの基本ができていないとしか… メソッドの中でメソッドの宣言はできませんよ。
iwamoto_takaaki

2016/01/20 02:44

メソッドの中にメソッドを定義しているので”何言ってっか訳わなんないよ!”(illegal start)って言ってますね。メソッドはクラスが保持します。 EzakiさんのソースはMainクラスのなかにsumメソッドが定義されています。これならば問題ないです。(実はこの書き方は変則的な書き方ですが、これが問題を起こしているわけではないので・・・) まずは既存のソースから不要なコードを削りましょう。 削るうちに整合性が崩れてエラーになった部分は、エラー内容を確認しつつ誤魔化して大丈夫です。エラーの内容を読む訓練だと思ってください。わからなかったらまた質問ください。 消すときはカッコの内側から消したほうがエラーが少ないです。 追加する方はカッコの外側から追加したほうがエラーが少ないです。
guest

0

エラーメッセージが英語でわからないということなら、Google翻訳にかけてみれば何かわかるかもしれません。

投稿2016/01/18 14:38

matobaa

総合スコア2493

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

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

0

ベストアンサー

オンラインコンパイラではパッケージの概念を理解できないため、
パッケージ宣言をしてさらにクラスをpublicにするとコンパイルできないようなのです(推測)。
パッケージ宣言とクラスのpublic修飾子を外すとどうでしょうか。


違います。「クラスのpublic修飾子」を外すのです。
mainメソッドまで消してはいけません。

java

1/* ここのpublicを削除 */class tashizan { 2 3 public static void main(String[] args) { 4 class Main{ 5 public int sum(int a,int b){ 6 return a + b; 7 } 8 } 9 } 10}

投稿2016/01/18 14:24

編集2016/01/18 14:59
swordone

総合スコア20651

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

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

Ezaki_302room

2016/01/18 14:58

改善したつもりですが、これでよかったのでしょうか。(上記にイメージあり) しかし改善されないようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問