前提・実現したいこと
Javaの超初心者です。
とあるJavaの問題で困っています。下記が問題文となります。
問題文
2つの数値をキーボードから入力し、小さい数値から大きい数値までの間の奇数の数と、偶数の数、奇数の合計と偶数の合計をそれぞれ画面に表示すること。
制作途中のソースコード
Java
1import java.io.*; 2 3public class Ensyu5_B{ 4 public static void main(String[] args) throws IOException{ 5 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 6 7 int [] intVal = new int [2]; 8 int sum0 = 0; 9 int sum1 = 0; 10 int sum; 11 int i; 12 String str0 = br.readLine(); 13 String str1 = br.readLine(); 14 15 intVal[0] = Integer.parseInt(str0); 16 intVal[1] = Integer.parseInt(str1); 17 18 for(i = 1; i <= intVal[1]; i += 2){ 19 System.out.println("奇数\t" + 1); 20 } //奇数の間の数 21 22 for(i = 0; i <= intVal[0]; i += 2){ 23 System.out.println("偶数\t" + 1); 24 } //偶数の間の数 25 26 for(i = 1; i <= intVal[1]; i += 2) 27 sum1 += i; 28 //奇数の合計 29 30 for(i = 0; i <= intVal[0]; i += 2) 31 sum0 += i; 32 //偶数の合計 33 34 System.out.println(sum1); 35 System.out.println(sum0); 36 37 } 38 39} //end 40 41 42 43
実行結果とやりたいこと
<実行画面>
10
8
奇数 1
奇数 3
奇数 5
奇数 7
偶数 2
偶数 4
偶数 6
偶数 8
偶数 10
奇数の合計=16
偶数の合計=30
入力値の10のみの偶数、8のみの奇数とそれぞれのみの偶数奇数の合計がでてしまっている状況です。
作成したいプログラムとしては、入力した2つの数値の間の個数(例:2つの入力した数値が 8, 10 →8から10の間の数値 8 9 10)を偶数と奇数で出力(例:奇数 9、偶数 8, 10)し、奇数の合計と偶数の合計をそれぞれ出力したい(例:奇数の合計=9,偶数の合計=18 )のです。
数日あれこれやってみましたがここから好転せず…恐らく原因はintVal[0]とintVal[1]の代入の仕方に問題があると思いますが、2つの入力した数値をどう活かせば良いのかがどうしても分かりません。助けてください。
解決にお力添えいただけると幸いです。何卒よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Java
java version "1.8.0_161"
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/04/19 14:04