洛谷_01

其实就做了俩题。耗的时间主要是在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();

	}

}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值