#[環境]
Java version 16.0.1
VS Code
Mac OS Big Surの環境です。
java -version
java version "16.0.1" 2021-04-20
Java(TM) SE Runtime Environment (build 16.0.1+9-24)
Java HotSpot(TM) 64-Bit Server VM (build 16.0.1+9-24, mixed mode, sharing)
MacBook:09_MinutesToYearsandDayCalculator $
パソコン MacBook(Retina, 12-inch,2017), memory 8GB
#[エラー]
変数sumは初期化されていない可能性があります
sum += a;
^
[学習状況]
2021年5月中旬から独学でJavaを学習しはじめました。
progateを3巡、ドットインストール1巡、スッキリJavaの本を8割読みました。現在、UdemyのJava Programming Masterclass for Software Developersというコースで動画を見たり、演習問題に取り組んだり、w3resourceというサイトから演習問題に取り組んだりしています。
#[演習問題の内容]
ユーザーから5つの数字をインプットしてもらい、その数字の合計と平均を表示させるプログラムを書きましょう。
#[やってみたこと、疑問に思う事]
int sum;
という部分を int sum=0; なら問題なく実行されるようです。
これが、不思議です。
int ave;はこのままで大丈夫なのになぜ、int sum;はだめなのでしょうか?
#[自分コード]
java
1import java.util.Scanner; 2public class averageAndSum { 3//Write a program in Java to input 5 numbers from keyboard and 4//find their sum and average. 5 public static void main(String[] args) throws Exception { 6 7 Scanner scanner = new Scanner(System.in); 8 //スキャナーの初期化 9 int counter = 1; 10 int sum; 11 // int sum=0; なら問題なく実行される。 12 int ave; 13 while(true){ 14 15 System.out.println("Type in the number #" + counter +":"); 16 boolean isAnInt=scanner.hasNextInt(); 17 if(isAnInt){ 18 int a = scanner.nextInt(); 19 counter++; 20 sum += a; 21 ave = sum/counter; 22 if(counter==5){ 23 break; 24 } 25 } 26 scanner.nextLine();//handle end of line 27 } 28 System.out.println("Sum of all the five numbers are " + sum); 29 System.out.println("Average of all the five numbers are " + ave); 30 scanner.close(); 31 } 32} 33
回答4件
あなたの回答
tips
プレビュー