Coding_Gamesメモ_1D_Spreadsheet

javaの学習にCoding_Games を知り、学習の記録としてメモ。
To debug:

System.err.println( );

を使うとデバックしやすくなる。(エラー出力は評価に影響しない)

内容

excel のように、他の答えを参照することのある計算を行う

ルール

インプット2行目からの (計算方法)、値1、値2 を計算する (計算方法)は "VALUE" : 値1(値2は"_")
"ADD" : 値1+値2
"SUB" : 値1-値2
"MULT" : 値1*値2
の4種類
値が"$N"だったらN番目の答えを代入する

インプット

1行目 計算するセルの数(N)
2行目から (計算方法) 値1 値2

アウトプット

セルの答えを改行して出力

使用したクラス

String

(int) = String.indexOf( x , y )
文字列のy番目からxを探し、前方から数えて何文字目かを出力(見つからなかったら-1 を出力)
yを省略すると最初から探す

(String) = String.substring(x,y)
文字列の一部を切り取る。
x,yはint型
xが切り取り開始位置、yは終了位置、yが指定されていなければ最後まで指定したのと同じ。

Integer

(static int) = Integer.parseInt(str)
数字を表す文字列str をint に変換する
valueOf との違いはparseInt は基本のデータ型のint を出力し、valueOf はラッパークラスのInteger を出力する

考え方
値はString なので intになおし、計算する 後の答えを参照する(1番目の問題の値が2番目の答えを求める)ことがあるので、 ループなどで解ける場所から計算していく

Coding_Games:https://www.codingame.com/
String (Java Platform SE 8) - Oracle Cloud:https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html
Integer (Java Platform SE 8) - Oracle Cloud:https://docs.oracle.com/javase/jp/8/docs/api/java/lang/Integer.html