解题思路:思考上没有过多的难点,顺着思路理下来即可

注意事项:但是对于题目需要有几点注意

  1.   例子中900,转换成了90,后面是没有跟小数点的,所以需要注意类型转换,或者输出时候的一些语法的应用
    2.  上面是主要可能出现的问题,其次就是注意位数太多,不要眼花了,保持耐心
    参考代码:

    方法一:加强制类型转化符(有double类型向int类型转换是强制类型转化)

  2. import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner scanner = new Scanner(System.in);
    			int a = scanner.nextInt();
    			if(a <= 100000){
    			    System.out.println((int)(a*0.1));
    			}else if(a <=200000){
    			    System.out.println(10000 +(int) ((a - 100000) * 0.075));
    			}else if(a <= 400000){
    			    System.out.println(17500 + (int)((a - 200000) * 0.05));
    			}else if(a <= 600000){
    			    System.out.println(17500 + 10000 +(int)((a - 400000)*0.03));
    			}else if(a <= 1000000){
    			    System.out.println(17500 + 10000 + 6000 +(int)((a - 600000)*0.015));
    			}else if(a > 1000000){
    			    System.out.println(17500 + 10000 + 12000 +(int)((a - 1000000)*0.01));
    			}
    			
    	}
    }

    方法二:应用String.format


  3. import java.util.Scanner;
    
    public class Main {
    	public static void main(String[] args) {
    		Scanner scanner = new Scanner(System.in);
    			int a = scanner.nextInt();
    			if(a <= 100000){
    			    System.out.println(String.format("%.0f",a * 0.1));
    			}else if(a <=200000){
    			    System.out.println(String.format("%.0f",10000 + (a - 100000) * 0.075));
    			}else if(a <= 400000){
    			    System.out.println(String.format("%.0f",17500 + (a - 200000) * 0.05));
    			}else if(a <= 600000){
    			    System.out.println(String.format("%.0f",17500 + 10000 +(a - 400000)*0.03));
    			}else if(a <= 1000000){
    			    System.out.println(String.format("%.0f",17500 + 10000 + 6000 +(a - 600000)*0.015));
    			}else if(a > 1000000){
    			    System.out.println(String.format("%.0f",17500 + 10000 + 12000 +(a - 1000000)*0.01));
    			}
    			
    	}
    }

    当然除以上方式以外,还可以定义一个整形变量,在最后进行输出,但是按照理论上应该也是需要加上强制类型符的,我没试过,仅仅是理论上的分析

    当然后面的也不一定要自己算出来,可以直接以式子的形式写出来 例如:17500 ->(10000*0.1+100000*0.075),这样也可以直接ctrl+c,ctrl+v了


当然在java中只要上面的if()条件满足了,下面的else if()就不在执行了,所以可以将      i > 100000 && i <= 200000,直接省略掉前面的i > 100000


(可能有语法错误,谅解)

点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论