记校赛第一题
作者:互联网
N市的某个加油站提供92#,95#和98#汽油,当天的汽油价如下表所示:
汽油标准 | 单价(元/升) |
---|---|
92# | 6.86 |
95# | 7.45 |
98# | 8.16 |
现在,要求编写一个程序,输入选择的汽油标准和加油量(单位:升),计算本次加油所需要的价钱。如果输入的汽油标准不在表格内,则输出 Not available!
输入格式:
在一行中输入一个整数 N 和一个实数 L,N 表示汽油标准(其取值范围为{92,95,97},L 是一个非负实数。中间用空格隔开。
输出格式:
在一行中输出本次加油所需要的价格,保留小数点后2位。
输入样例01:
92 31.3
结尾无空行
输出样例01:
214.72
结尾无空行
输入样例02:
90 18.9
结尾无空行
输出样例02:
Not available!
结尾无空行
原来应该是一道送分题,结果考的时候太紧张忘记用printf,花了1个多小时,太蠢了
代码:(请欣赏)
1 import java.util.Scanner; 2 public class Main { 3 4 public static void main(String[] args) { 5 Scanner scan = new Scanner(System.in); 6 int n = scan.nextInt(); 7 double m = scan.nextDouble(); 8 Tools tool = new Tools(); 9 tool.js(n, m); 10 } 11 12 } 13 class Tools{ 14 public void js(int n,double m){ 15 if(n == 92){ 16 int x = (int)(6.86 * m); 17 double yx = ((6.86 * m) % 1) * 1000; 18 int tt = (int)yx; 19 int gw = tt % 10; 20 if(gw >= 5){ 21 tt = tt /10; 22 tt++; 23 } 24 else tt = tt / 10; 25 int xs = tt % 1000; 26 yx = xs * 0.01; 27 yx += x; 28 boolean flag = false; 29 String sss = yx + ""; 30 int zs = 0; 31 char[] c =sss.toCharArray(); 32 for(int i = 0;i < c.length;i++){ 33 if(flag)zs++; 34 if(c[i] == '.')flag = true; 35 } 36 System.out.print(yx); 37 if(zs == 1)System.out.print("0"); 38 if(zs == 0)System.out.print("00"); 39 } 40 else if(n == 95){ 41 int x = (int)(7.45 * m); 42 double yx = ((7.45 * m) % 1) * 1000; 43 int tt = (int)yx; 44 int gw = tt % 10; 45 if(gw >= 5){ 46 tt = tt /10; 47 tt++; 48 } 49 else tt = tt / 10; 50 int xs = tt % 1000; 51 yx = xs * 0.01; 52 yx += x; 53 boolean flag = false; 54 String sss = yx + ""; 55 int zs = 0; 56 char[] c =sss.toCharArray(); 57 for(int i = 0;i < c.length;i++){ 58 if(flag)zs++; 59 if(c[i] == '.')flag = true; 60 } 61 System.out.print(yx); 62 if(zs == 1)System.out.print("0"); 63 if(zs == 0)System.out.print("00"); 64 } 65 else if(n == 98){ 66 int x = (int)(8.16 * m); 67 double yx = ((8.16 * m) % 1) * 1000; 68 int tt = (int)yx; 69 int gw = tt % 10; 70 if(gw >= 5){ 71 tt = tt /10; 72 tt++; 73 } 74 else tt = tt / 10; 75 int xs = tt % 1000; 76 yx = xs * 0.01; 77 yx += x; 78 boolean flag = false; 79 String sss = yx + ""; 80 int zs = 0; 81 char[] c =sss.toCharArray(); 82 for(int i = 0;i < c.length;i++){ 83 if(flag)zs++; 84 if(c[i] == '.')flag = true; 85 } 86 System.out.print(yx); 87 if(zs == 1)System.out.print("0"); 88 if(zs == 0)System.out.print("00"); 89 } 90 else System.out.print("Not available!"); 91 } 92 }
标签:第一,int,tt,记校赛,System,yx,print,zs 来源: https://www.cnblogs.com/Imepeto/p/15754572.html