闲着无聊看书时发现在String的介绍里写了判断以某字符串开头的方法。突然想到前几天做过的题目有优化的空间。将变量"zhengfu"删除,并使用String方法startsWith("-")判断首字母正负号
下方为优化后代码
package oj1002;
import java.util.Scanner;
/**
* 该程序需注意分两种情况
* 1、有小数,将小数点作为索引,并保留两位小数或补全两位小数
* 2、无小数,直接按程序输出
* @author Renxing
* @time 2020年11月24日 21:45
*/
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String in = sc.nextLine();
if(in.indexOf('.')==-1) {
//char zhengfu=in.charAt(0);
//if (zhengfu == '-') {
if (in.startsWith("-")) {
System.out.println(in.substring(1)+".00");
}else {
System.out.println(in+".00");
}
}else {
String zhengshu = in.substring(0,in.indexOf('.'));
//char zhengfu=in.charAt(0);
String xiaoshu = in.substring(in.indexOf('.'));
if (xiaoshu.length() >= 3) {
xiaoshu = xiaoshu.substring(0,3);
}else {
xiaoshu = xiaoshu+'0';
}
//if (zhengfu == '-') {
if (in.startsWith("-")) {
System.out.println(zhengshu.substring(1)+xiaoshu);
}else {
System.out.println(zhengshu+xiaoshu);
}
}
}
}
原文: