下記のソースで、エラーが出ます。 秒を加算、減算するコードを書く前は動いたので、新しいincreaseとdecreaseのメソッドか、switch文が怪しいのですが、ご教授ください。 勉強したほうがいいサイトの項目なども教えていただければ助かります。 エラー Ren10_02.java:57: 変数 second は初期化されていない可能性があります。 int second = second + 1; ^ Ren10_02.java:63: 変数 second は初期化されていない可能性があります。 int second = second -1; ^ エラー 2 個
import java.io.*;
class Mytime { //フィールド
private int hour; private int minute; private int second;
public void setTime(int h, int m, int s)//void は戻り値がないので変更 //()内は渡された引数) {
if( h >= 12){
h = 12 ; }
else{ h = h ; }
if( m >= 60){
m =590 ; }
else{ m = m ; } if( s >= 60){
s = 59 ; }
else{ s = s ; } hour = h; //順番あと minute = m; second = s; }
} public void increaseOneSecond(){ //()内は渡された引数) int second = second + 1;
}
public void decreaseOneSecond(){ int second = second -1;
}
}
//「メイン」クラス public class Ren10_02 { public static void main(String[] args)throws IOException { Mytime t = new Mytime();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("時を入力 > "); int h = Integer.parseInt( br.readLine() ); System.out.print("分を入力 > "); int m = Integer.parseInt( br.readLine() ); System.out.print("秒を入力 > "); int s = Integer.parseInt( br.readLine() );
// t.setTime(h,m,s); //timeも引き渡しがいるの?
// String a = t.setTime(h,m,s);//上記の、h,m,sの値を引き渡す。returnが引き渡したメソッド内に記述してあれば受け取るまでの動作
System.out.print("1秒進める(1)、戻す(2)、終了(他の数) > "); int l = Integer.parseInt( br.readLine() );
switch( l ){ case 1: t.increaseOneSecond(); System.out.println(t.getTime()); break; case 2: t.decreaseOneSecond(); System.out.println(t.getTime()); break; }