java勉強中で基礎学習を終えた程度の知識です。自分で言語化する力をつけたいと思い問題を解いているのですが、原因がわからず先に進めないのでアドバイスいただきたいです。
問題
※問題は記事で拾ってきたもので答えはありません
入力された加算/減算演算の結果を出力するプログラムを作成しなさい。
例
入力値:1 + 2
出力値:3
入力値:1 + 2 - 1
出力値:2
コード
入力値を配列に代入して、
変数sumに加算/減算の処理結果を代入して最後に出力するような流れです。
import java.util.*; public class java{ public static void main(String[] args){ Scanner sc = new Scanner(System.in); String param = sc.nextLine(); String[] ary = param.split(" "); String type = null; int sum = 0; for(int i = 0; 0 < ary.length; i++){ if(ary[i].equals("+") || ary[i].equals("-")){ type = ary[i]; }else{ int num = Integer.parseInt(ary[i]); if(type != null){ if(type.equals("+")){ sum = sum + num; }else if(type.equals("-")){ sum = sum - num; } }else{ sum = num; } } } System.out.println(sum); } }
コンパイルエラー
下記記述の箇所に Index 3 out of bounds for length 3 というエラーが出てしまいます。
for(int i = 0; 0 < ary.length; i++)
配列がうまく作れていないのかと思い確認しましたが問題ありませんでした。
他にどのような原因が考えられるのでしょうか。
他
javaの基礎学習を終えたところです。
現在は言語化能力を身につけようとアルゴリズムの書籍、paizaというオンラインツールを使って学習しています。しかしどちらとも解答がないので途中で諦めて終わってしまいます。おすすめの勉強方法や考え方のコツなどがあれば教えいただきたいです。
また、javaの基礎学習を終えた後に何をしていいのか分かりません。もし何かアプリを作ろうとするのであればフレームワークが必要になるのでしょうか?
回答2件
あなたの回答
tips
プレビュー