其实就做了俩题。耗的时间主要是在eclipse上运行示例无错,但是提交上去却总是出错。
第一个题:P1085 不高兴的津津
这个没啥好说的,错误是:类P1_2_2是公共的, 应在名为 P1_2_2.java 的文件中声明 public class P1_2_2 {
我就纳闷了,我的文件名就是P1_2_2啊,声明个屁啊。
不啰嗦了,把类名改为Main就正确了。
还有提交java语言时,不要带包名。
第二个题:P1089 津津的储蓄计划
这个就更坑了,最主要的错误就是答案是整数时,不要带小数点。
java判断小数点后是否为0,是的话则取整,不是的话则保留。
关于这个,网上搜的很多用到了我没见过的函数,我有点头疼,那就用小白的方法。
原来乘1.2,把上面的乘100,拿下来变成乘120。解决。
其他时候,可以这样解决。
double m;
double a = 89.0;
double ss= (int)a*100;
double mm= a*100;
m =mm%ss;
// m=0 则a为整数,直接强制转换
其他类似方法 https://blog.csdn.net/u010724819/article/details/81354177
函数方法:https://blog.csdn.net/qq_24606505/article/details/62884061
https://blog.csdn.net/weixin_34503526/article/details/81318001
改正之后,我一条一条分类写的运行成功,没有全部分开写的,只有90,有一个WA,不明白。
刚刚改好了,是因为预算不够时没有跳出循环。
package first;
import java.util.Scanner;
public class P1089 {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int sheng = 0;
int cun = 0;
int yu = 0;
int s = 0;
int a;
String b = "";
for(int i=1;i<=12;i++) {
a = cin.nextInt();
s = 300+sheng;
yu = s-a;
if(yu>=0) {
cun += yu/100;
sheng = yu%100;
}
else {
b = "-"+i;
break;
}
}
if(b=="")
System.out.println(cun*120+sheng);
else
System.out.println(b);
cin.close();
}
}
成功的这个如下
package first;
import java.util.Scanner;
public class P1089_1 {
public static void main(String[] args) {
Scanner cin = new Scanner(System.in);
int sheng = 0;
int cun = 0;
int yu = 0;
int s = 0;
// int t;
int a;
String b = "";
for(int i=1;i<=12;i++) {
a = cin.nextInt();
s = 300+sheng;
yu = s-a;
if(yu>=100) {
// t = yu/100;
cun += yu/100;
sheng = yu%100;
}
else if(yu<0) {
b = "-"+i;
break;
}
else
sheng = yu;
// System.out.println(i+":"+sheng+" 已存"+cun);
}
// int ss = (int) (cun*1.2*100+sheng);
if(b=="")
System.out.println(cun*120+sheng);
else
System.out.println(b);
cin.close();
}
}