與正確輸出不相符(line:4)
您的答案為: -100567.0
正確答案為: -100567
一直卡在尾數0呀...不知道要怎麼改...QQ
希望有人能指點我一下...卸卸
import java.util.*;
import java.math.BigDecimal;
public class Basic_d018{
public static void main(String args[]){
Scanner sn = new Scanner(System.in);
while(sn.hasNext()){
BigDecimal sum = new BigDecimal(0);
Scanner tmp = new Scanner(sn.nextLine()).useDelimiter(" ");
while(tmp.hasNext()){
String[] tmpStr = tmp.next().split("[:]");
if(Integer.parseInt(tmpStr[0]) % 2 == 0)
sum = sum.subtract(new BigDecimal(tmpStr[1]));
else
sum = sum.add(new BigDecimal(tmpStr[1]));
}
System.out.println(sum.doubleValue());
}
}
}
與正確輸出不相符(line:4)
您的答案為: -100567.0
正確答案為: -100567
一直卡在尾數0呀...不知道要怎麼改...QQ
希望有人能指點我一下...卸卸
import java.util.*;
import java.math.BigDecimal;
public class Basic_d018{
public static void main(String args[]){
Scanner sn = new Scanner(System.in);
while(sn.hasNext()){
BigDecimal sum = new BigDecimal(0);
Scanner tmp = new Scanner(sn.nextLine()).useDelimiter(" ");
while(tmp.hasNext()){
String[] tmpStr = tmp.next().split("[:]");
if(Integer.parseInt(tmpStr[0]) % 2 == 0)
sum = sum.subtract(new BigDecimal(tmpStr[1]));
else
sum = sum.add(new BigDecimal(tmpStr[1]));
}
System.out.println(sum.doubleValue());
}
}
}
这种错误在非C/C++语言一定会出现的!——像我们这样非C/C++的人们就麻烦了...
所以要另外在输出上做一定的判断,来将小数点后多余的0去掉。
在C/C++中只要 printf("%g\n",n); 就可以了...
//好无语...
希望以后出题者要注意这方面的问题。
與正確輸出不相符(line:4)
您的答案為: -100567.0
正確答案為: -100567
一直卡在尾數0呀...不知道要怎麼改...QQ
希望有人能指點我一下...卸卸
import java.util.*;
import java.math.BigDecimal;
public class Basic_d018{
public static void main(String args[]){
Scanner sn = new Scanner(System.in);
while(sn.hasNext()){
BigDecimal sum = new BigDecimal(0);
Scanner tmp = new Scanner(sn.nextLine()).useDelimiter(" ");
while(tmp.hasNext()){
String[] tmpStr = tmp.next().split("[:]");
if(Integer.parseInt(tmpStr[0]) % 2 == 0)
sum = sum.subtract(new BigDecimal(tmpStr[1]));
else
sum = sum.add(new BigDecimal(tmpStr[1]));
}
System.out.println(sum.doubleValue());
}
}
}
这种错误在非C/C++语言一定会出现的!——像我们这样非C/C++的人们就麻烦了...
所以要另外在输出上做一定的判断,来将小数点后多余的0去掉。
在C/C++中只要 printf("%g\n",n); 就可以了...
//好无语...
希望以后出题者要注意这方面的问题。
之後在寫後,已經寫出來了...不過判斷方式很鳥就是了...
我做了以下這樣的處理:
if(sum.doubleValue() % 1 == 0)
System.out.println(sum.intValue());
else
System.out.println(sum.doubleValue());
不知道有沒有用java寫的有更好的寫法?