浙大JAVA-实验题答案05answer1.doc
-
资源ID:28475886
资源大小:157KB
全文页数:34页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
浙大JAVA-实验题答案05answer1.doc
Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date浙大JAVA-实验题答案05answer1实验一 Java程序的建立和运行实验5 分支结构程序的设计1. 程序填空题,不要改变与输入输出有关的语句。20004计算旅途时间输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。例:括号内是说明输入712 1411(出发时间是7:12,到达时间是14:11)输出The train journey time is 6 hrs 59 mins.import java.util.Scanner;public class Test20004 public static void main(String args) Scanner in=new Scanner(System.in); int time1, time2, hours, mins; time1=in.nextInt(); time2=in.nextInt(); /*-*/ /*计算两个时间之间的小时数和分钟数*/ hours=time2/100-time1/100; mins=time2%100-time1%100; /*当计算得到的分钟数为负数时进行调整*/ hours=mins>0?hours:hours-1; mins=mins>0?mins:mins+60; /或:if(mins<0)hours-=1;mins+=60; System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); 30001 显示两级成绩输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。输出使用System.out.println("Pass");及System.out.println("Fail");例:括号内是说明输入2 (repeat=2) 60 59输出PassFailimport java.util.Scanner;public class Test30001 public static void main(String args) int ri, repeat; int mark; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) mark=in.nextInt(); mark=in.nextInt(); /*-*/ if (mark<60) System.out.println("Fail"); else System.out.println("Pass"); 30002 找最小值输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入四个整数,输出其中的最小值。例:括号内是说明输入3 (repeat=3) 12 6 1 9010 40 30 20-1 -3 -4 -5输出min is 1 (12 6 1 90 中的最小值是1)min is 10 (10 40 30 20 中的最小值是10)min is -5 (-1 -3 -4 -5中的最小值是-5)import java.util.Scanner;public class Test30002 public static void main(String args) int ri, repeat; int a, b, c, d, min; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) a=in.nextInt(); b=in.nextInt(); c=in.nextInt(); d=in.nextInt(); /*-*/ min=a; if(min>b) min=b; if(min>c) min=c; if(min>d) min=d; System.out.println("min is "+min); 30004 判断数的符号输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。例:括号内是说明输入3 (repeat=3) 2 -8 0输出1 (x=2时y=1)-1 (x=-8时y=-1)0 (x=0时y=0)import java.util.Scanner;public class Test30004 public static void main(String args) int ri, repeat; int x, y; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) x=in.nextInt(); /*-*/ if(x>0)y=1; else if(x=0)y=0; else y=-1; System.out.println(y); 30005 计算个人所得税输入一个职工的月薪salary,输出应交的个人所得税tax。tax = rate * (salary-850)当 salary <= 850 时,rate = 0%;当 850 < salary <= 1350 时,rate = 5%; /写成0.05f当 1350 < salary <= 2850 时,rate = 10%;当 2850 < salary <= 5850 时,rate = 15%;当 5850 < salary 时,rate = 20%;例:括号内是说明输入5 (repeat=5)1010.8732098.7680040102850输出tax=8.04tax=6249.75tax=0.0tax=474.0tax=200.0import java.util.Scanner;public class Test30005 public static void main(String args) int ri, repeat; float rate, salary, tax; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) salary=in.nextFloat(); /*-*/ if(salary<=850) /注意:实现分段函数时对条件的简化 rate=0; else if(salary<=1350) rate=0.05f; else if(salary<=2850) rate=0.1f; else if(salary<=5850) rate=0.15f; else rate=0.2f; tax=rate*(salary-850); System.out.println("tax="+(int)(tax*100+0.5)/100.0); 30006 显示水果的价格输入一个正整数repeat (0<repeat<10),做repeat次下列运算:以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。1 apples2 pears3 oranges4 grapes输入水果的编号,输出该水果的单价。如果输入不正确的编号,显示单价为0。例:括号内是说明输入1 (repeat=1) 3 (oranges的编号) 输出1 apples2 pears3 oranges4 grapesprice=4.1import java.util.Scanner;public class Test30006 public static void main(String args) int ri, repeat; int choice; float price; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) System.out.println("1 apples"); System.out.println("2 pears"); System.out.println("3 oranges"); System.out.println("4 grapes"); choice=in.nextInt(); /*-*/ switch(choice) case 1:price=3.0f;break; case 2:price=2.5f;break; case 3:price=4.1f;break; case 4:price=10.2f;break; default: price=0; System.out.println("price="+price); 30008 计算函数的值(分支)输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入整数 x,计算并输出下列函数 f(x) 的值(保留2位小数,如果答案为3.50,则直接显示为3.5)。当 x 等于0时,f(x) = 0,当 x 不等于0时, f(x) = 1/x 。例:括号内是说明输入3 (repeat=3)6 (x=6)10 (x=10)0 (x=0)输出f(6)=0.17f(10)=0.1f(0)=0.0import java.util.Scanner;public class Test30008public static void main(String args)int repeat, ri,x; double y; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri = 1; ri <= repeat; ri+) x=in.nextInt(); /*-*/ if(x=0) y=0; else y=(int)(1.0/x)*100+0.5)/100.; /或:y=Math.round(1.0/x)*100)/100.; System.out.println("f("+x+")="+y); 30010 显示五级记分制成绩所对应的百分制成绩区间输入一个正整数 repeat (0<repeat<10),做 repeat 次下列运算:输入五级制成绩(AE),输出相应的百分制成绩(0100)区间,要求使用switch语句。五级制成绩对应的百分制成绩区间为:A(90-100)、B(80-89)、C(70-79)、D(60-69)和E(0-59),如果输入不正确的成绩,显示"Invalid input"。例:括号内是说明输入6A B C D E j (repeat=6,输入的五级成绩分别为A、B、C、D、E和无效的字符j) 输出90-10080-8970-7960-690-59Invalid inputimport java.util.Scanner;public class Test30010 public static void main(String args) int repeat, ri; char ch; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri = 1; ri <= repeat; ri+) ch=(in.next().charAt(0); /*输入1个字符*/ /*-*/ switch(ch) case 'A':System.out.println("90-100");break; case 'B':System.out.println("80-89");break; case 'C':System.out.println("70-79");break; case 'D':System.out.println("60-69");break; case 'E':System.out.println("0-59");break; default: System.out.println("Invalid input"); 说明:ch=s.CharAt(i);作用是:从字符串变量s中读取第i个字符,保存到字符变量ch中-