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

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

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

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

Q&A

4回答

6983閲覧

java 標準クラス

sAtosi

総合スコア8

Java

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

0グッド

1クリップ

投稿2016/03/08 00:00

java勉強中ですがうまく動作しません。
------dokojavaで動作しましたが、3回づつ表示されます。

public class Main {
public static void main(String[] args) {
System.out.println("あなたの名前を入力してください");
String name = new java.util.Scanner(System.in).nextLine();
System.out.println("あなたの年齢を入力してください");
String ageString = new java.util.Scanner(System.in).nextLine();
int age = Integer.parseInt(ageString);
System.out.println(age + "歳の" + name + "さん");

-----paizoioで

Main.java:8: error: reached end of file while parsing
System.out.println(age + "歳の" + name + "さん");
^
1 error

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

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

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

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

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

guest

回答4

0

閉じる中括弧が抜けています(Mainとmainで2つ必要です)。

よくあることですが、エラーが出た時はその行だけではなく前後に真の原因があることもあります。

投稿2016/03/08 00:21

maisumakun

総合スコア145183

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

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

sAtosi

2016/03/08 00:43

ありがとうございました、初心者なので、簡単なところでつまづいてます。
guest

0

こんにちは。

原因はmaisumakunさんがおっしゃられているように、閉じ括弧}が2つ不足しているため、
コンパイルが通りません。

勉強中ということなので、ちょっと気になった部分の指摘を。。。
まず、new java.util.Scanner(System.in)を何度もしていますが、
一度変数に入れて再利用したほうがいいです。
インスタンスを無駄に作成してしまっています。

また、

java

1String ageString = new java.util.Scanner(System.in).nextLine(); 2int age = Integer.parseInt(ageString); 3System.out.println(age + "歳の" + name + "さん");

とありますが、System.out.println()の引数で+連結しているので、
折角parseInt()したageをまた文字列に戻しています。
この場合はparseInt()する必要はないかと。

投稿2016/03/08 00:51

kaputaros

総合スコア1844

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

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

sAtosi

2016/03/14 02:07

ありがとうございます、また教えていただければさいわいです。
guest

0

エディタの設定をそれなりに整えたり、開発用環境を使うと、
{}の不整合などは簡単にみつかります。
下のアニメーション gif は eclipe という環境をつかっているときの様子です。
最後の } が欠けていると、赤で指摘がされます。
}を補っていくと、赤が消えます。
イメージ説明

さらに↓のアニメーション gif は、
ソースコードを teratail の質問文に引用している様子です。
エディタ部分のメニューバの <> をクリックするとコードを埋めるべき部分が自動挿入されます。
ソースコードを ``` の間に Cut & Paste してきます。
すると、右側のプレビュー部分に表示結果が示されます。
イメージ説明
gif 画面をつくるときは、操作をわすれましたが、 一行目の ''' は '''java した方がよいです。
(コードの言語を指定します。java, c, php, ruby など。指定しなくても構いませんけど。)

投稿2016/03/08 12:39

katoy

総合スコア22324

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

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

sAtosi

2016/03/14 02:00

ありがとうごいます、実行環境JDK→DOSで実行環境がととのったらすすめてみます。
guest

0

タイプミスが3箇所あったので修正しました。
Scannerへの参照をimportに変更しました。
Eclipseで作成し、実行確認しました。

実行結果
いかがでしょうか?


質問者様のソースをマークダウンで整形表示&必要な修正、
実務的に必要な追加をしました。

java

1import java.util.Scanner; 2 3public class Main { 4 public static void main(String[] args) { 5 java.util.Scanner system_in = new Scanner(System.in); // Sacnerになっていました。 6 /* ここでの new で新しいScannerオブジェクトが開かれます。 7 System側で適切にクローズされるので、クローズしてはいけません。 */ 8 9 System.out.println("あなたの名前を入力してください"); 10 String name = system_in.nextLine(); 11 if (name.equals("")) { 12 System.out.println("名前が入力されませんでした。"); 13 return; 14 } 15 16 System.out.println("あなたの年齢を入力してください"); 17 String ageString = new Scanner(System.in).nextLine(); 18 19 int age; /* ageを数値として利用する必要がある場合、数値として保持 */ 20 try { /* 入力内容が数字として入力されているかどうかをtryを利用して確認 */ 21 age = Integer.parseInt(ageString); 22 } catch (NumberFormatException e) { // catheになっていました。 23 System.out.println("入力された年齢は数値ではありませんでした。"); // sytemになっていました。 24 return; 25 } finally { 26 /* system_in.close(); // System.inはクローズしてはいけません。*/ 27 } 28 System.out.println(ageString + "歳の" + name + "さん"); /* 標準出力には文字列のageStringをそのまま利用 */ 29 } /* 質問者様の入力し忘れた中括弧1 */ 30} /* 質問者様の入力し忘れた中括弧2 */

以上、
ご参考になりますでしょうか?

投稿2016/03/08 06:56

編集2016/03/14 10:46
Aeona

総合スコア396

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

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

sAtosi

2016/03/14 02:05

お礼が遅れてもうしわけありませんが、実行環境はどのようにして確認していただいたのでしょうか、dokojavaとpaizoioのオンラインエディタでは、正しく表示されませんでした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問