条件
①一番初めにコマンドラインに数字を入力
②コマンドラインに入力された数の回数だけ数を足したり引いたりする
(1)SETと入力された場合
入力フォーマット=SET 1 50
変数aに50を加える
(2)ADDと入力された場合
入力フォーマット=ADD 50
変数bにaと引数の和を代入
(3)SUbと入力された場合
入力フォーマット=SUB 90
変数bにaから引数の数を引いた値を代入
③最終的な変数a,bの値を代入
というわけなのですが
疑問点は
①変数a,bを
static int a=0;
static int b=0;
とした時にエラーが出る理由と
②このコードでyを条件付きで宣言したにもかかわらず、シンボルが見つからないというエラーが出る
理由がわかりません
僕としては配列の長さが3になるのはSETと最初に入力された時のみでその時だけyを作ればreadLineArray[2]もしっかりあるし、整数型に変換しているしおかしいはずがないのにと考えたのですが....
java
1import java.io.BufferedReader; 2import java.io.InputStreamReader; 3 4public class Main { 5 public static void main(String[] args) throws Exception { 6 BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 7 int a=0; 8 int b=0; 9 String line = br.readLine(); 10 int n = Integer.parseInt(line); 11 for(int i=0;i<n;i++){ 12 String change = br.readLine(); 13 change = change.trim(); 14 String [] readLineArray = change.split(" ",3); 15 int x = Integer.parseInt(readLineArray[1]); 16 if(readLineArray.length >2){ 17 int y = Integer.parseInt(readLineArray[2]); 18 } 19 if(readLineArray[0].equals("SET")){ 20 if(x == 1){ 21 a += y; 22 }else{ 23 b += y; 24 } 25 } 26 if(readLineArray[0].equals("ADD")){ 27 b = a+x; 28 } 29 if(readLineArray[0].equals("SUB")){ 30 b = a-x; 31 } 32 } 33 System.out.println(a+" "+b);; 34 } 35}
もしよろしかったらご意見お願いします
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。