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

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

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

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

Q&A

解決済

3回答

10925閲覧

paiza.ioで複数回入力を読み込むことは可能ですか?

bonobiya

総合スコア15

Java

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

0グッド

0クリップ

投稿2017/01/17 12:44

イメージ説明

scannerにて読み込んだ値を正の数か負の数か0かを判定した後に下記のところで1...yesと答えたらもう一度整数値を入力する処理のところに行くようなプログラムを作りたかったのですが、画像のようなコンパイルエラーが出てしまいました。paiza.ioでは再度、もう一度入力を受け取る、というのは不可能なのでしょうか?

Java

1System.out.print("もう一度? 1…Yes/0…No : "); 2 retry = stdIn.nextInt();

ちなみにpaiza.ioのコンパイルエラーの隣 入力 の箇所には1と入力しております。

Javaのソースをこちらにも記載致します。

Java

1 2import java.util.Scanner; 3 4public class Main{ 5 public static void main(String[] args){ 6 Scanner stdIn = new Scanner(System.in); 7 8 int retry; 9 do{ 10 System.out.print("整数値 : "); 11 int n = stdIn.nextInt(); 12 if(n > 0){ 13 System.out.println("その値は正です。"); 14 }else if(n < 0){ 15 System.out.println("その値は負です。"); 16 }else if(n == 0){ 17 System.out.println("その値は0です。"); 18 } 19 System.out.print("もう一度? 1…Yes/0…No : "); 20 retry = stdIn.nextInt(); 21 }while(retry == 1); 22 } 23} 24

コンパイルエラーのメッセージも再度記載致します。

javac: file not found: Main.java Usage: javac <options> <source files> use -help for a list of possible options

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

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

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

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

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

guest

回答3

0

ベストアンサー

対話的に実行はできないので、先読みして入力を与えておく必要があります。

例えば、今回のプログラムで整数を3回入力して終了したかったら、
入力タブに

100 1 101 1 102 0

としておけば
出力が、

整数値 : その値は正です。 もう一度? 1…Yes/0…No : 整数値 : その値は正です。 もう一度? 1…Yes/0…No : 整数値 : その値は正です。 もう一度? 1…Yes/0…No :

となります。

投稿2017/01/18 00:33

ozwk

総合スコア13521

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

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

bonobiya

2017/01/18 11:59

回答ありがとうございます。 入力タブ内は 100 1 101 1 102 0 という風に最終的に終了させるように0を入力しておく必要があったのですね。 ありがとうございました。
guest

0

はい、paiza.ioの標準入力はあくまで最初に一度与えるだけで、対話的に使うことはできないようです。

なお、同じコードを自分でpaizaに投げてみたところ、コンパイルは通ったのですが、java.util.Scanner.nextIntjava.util.NoSuchElementExceptionとなってしまいました。

投稿2017/01/17 12:51

maisumakun

総合スコア145183

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

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

bonobiya

2017/01/18 11:58

回答ありがとうございます。 System.out.print("もう一度? 1…Yes/0…No : "); retry = stdIn.nextInt(); のところで最終的に0と入力しておく必要があったみたいです。
guest

0

コンパイルエラーなので、そもそも実行されていません。
エラーメッセージで検索かけてみましたが、JREのバージョンだとかパスの通し方だとか、
実行環境関連の話が引っ掛かったので、実行時にpaiza側で何かトラブルが起きたのではないでしょうか?

投稿2017/01/17 15:03

swordone

総合スコア20651

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

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

bonobiya

2017/01/18 11:57 編集

回答ありがとうございます。 paiza ioでは先に入力に値を入れておく必要があり、さらに最終的に System.out.print("もう一度? 1…Yes/0…No : "); retry = stdIn.nextInt(); のところで0と入力しておく必要があったみたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問