質問です。
キーボードから入力させた数値がある文字2つがあり
2文字目が1文字目-110の+-5%であるなら標準。+5%なら標準超え、-5%なら未満と表示したいです。
入力された値のチェックもしたいのですが
・入力値が0~9、少数以外の文字が含まれていないこと
・小数点が複数含まれていないこと
が条件になっています。
上記の点を踏まえ自分でぐぐって
プログラムを書いてみたのですがうまくできません。
どこを改善したらよいでしょうか?
よろしくおねがいします。
package enshu;
import java.io.;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Enshu {
public static void main(String[] args) throws IOException{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String str1=br.readLine();
String str2=br.readLine();
Pattern p = Pattern.compile("[+]?(0|[1-9]+\d)(.\d+)?");
Matcher m = p.matcher(str1);
Matcher n = p.matcher(str2);
System.out.println(m.find());
System.out.println(n.find());
int i = Integer.parseInt(str1);
int j = Integer.parseInt(str2);
if(j>(i-110)*1.05){
System.out.println("標準超え");
}
else if(j<(i-110)*0.95){
System.out.println("標準未満");
}
else{
System.out.println("標準");
}
}
}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/05/14 02:15