前提・実現したいこと
javaで、運賃計算のプログラムを作成しています。
疑問①
乗客の乗った区間数 N が、2度与えられるので、キーボード入力を繰り返したい。
その後の出力も、繰り返し表示させたい。
<イメージとしては・・>
N = sc.nextInt();//1度目の区間数を入力
System.out.println(100 + N * 10);//一度目の出力
N = sc.nextInt();//2度目の区間数を入力
System.out.println(100 + N * 10);//2度目の出力
なので、while文を使ってみたけれど、表示結果がおかしい・・。1度目の区間数を入力しようとすると、なぜか二度入力することになる。二度入力しないと、結果が出力されない。
for文を使ってみても、まず1度目のキーボード入力が2度入力しなければ、結果が出力されない・・。
試したこと
ここに問題に対して試したことを記載してください。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
前提・実現したいこと
ここに質問の内容を詳しく書いてください。
(例)PHP(CakePHP)で●●なシステムを作っています。
■■な機能を実装中に以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
エラーメッセージ 3 3 130 19 290 ### 該当のソースコード java ソースコードimport java.util.Scanner; public class Fee { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt();//ある乗客の乗った区間数 N //while(N <= 30) for (int i = 0; i < N; i++){ N = sc.nextInt(); System.out.println(100 + N * 10); } //System.out.println(100 + N * 10); } }
試したこと
運賃計算のプログラムを作成しています。
・初乗り運賃 100 円
・1 区間ごとに 10 円ずつ加算
ある乗客の乗った区間数 N が与えられるので運賃がいくらかを出力するプログラムを作成してください。
例えば入力例 1の場合
3
3 区間乗ったので 100 + 3 × 10 という計算となるので、以下のように出力してください。
130
条件
すべてのテストケースにおいて、以下の条件をみたします。
・1 ≦ N ≦ 30
疑問①
乗客の乗った区間数 N が、2度与えられるので、キーボード入力を繰り返したい。
その後の出力も、繰り返し表示させたい。
<イメージとしては・・>
N = sc.nextInt();//1度目の区間数を入力
System.out.println(100 + N * 10);//一度目の出力
N = sc.nextInt();//2度目の区間数を入力
System.out.println(100 + N * 10);//2度目の出力
なので、while文を使ってみたけれど、表示結果がおかしい・・。1度目の区間数を入力しようとすると、なぜか二度入力することになる。二度入力しないと、結果が出力されない。
for文を使ってみても、まず1度目のキーボード入力が2度入力しなければ、結果が出力されない・・。
Forでもwhileでも、繰り返しの処理はどっちを使ってもいいの?
public class Main {
public static void main(String[] args ) throws Exception {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
for (int i = 0; i < N; i++) {
String token1 = sc.next();
String token2 = sc.next();
System.out.println("hello = " + token1 + " , world = " + token2);
}
}
}
↑のサンプルコードの、6・7行目にデータ型と変数名が違う(int N)とは違うものをいきなり出てきたけど、そんなことしていいのか?! いつもそういうところで戸惑う。だって、Nは区間数をキーボード入力するために定義しているけど、String token1 = sc.next();
String token2 = sc.next();←はなんの為に定義したのかがわからない。2回違う、区間数を入力するため? 同じデータ型・同じ変数名が使えないから、わざわざ名前を変えただけ・・?
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答3件
あなたの回答
tips
プレビュー