欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    浙江大学java上机参考答案.doc

    • 资源ID:17654356       资源大小:498.50KB        全文页数:48页
    • 资源格式: DOC        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    浙江大学java上机参考答案.doc

    【精品文档】如有侵权,请联系网站删除,仅供学习与交流浙江大学java上机参考答案.精品文档.一、求两个数的和与差。程序填空,不要改变与输入输出有关的语句。输入整数a和b,计算并输出a、b的和与差。import java.io.*;import java.util.Scanner;public class Test20001 public static void main(String args) int a, b, sum, diff; Scanner in=new Scanner(System.in); a=in.nextInt(); b=in.nextInt();sum=a+b;diff=a-b; System.out.println("The sum is "+sum); System.out.println("The difference is "+diff);二、求平方根。程序填空,不要改变与输入输出有关的语句。输入1个实数x,计算并输出其平方根。例:输入1.21输出The square root of 1.21 is 1.1import java.io.*;import java.util.Scanner;public class Test20002 public static void main(String args) double x, root; Scanner in=new Scanner(System.in); x=in.nextDouble();root=Math.sqrt(x); System.out.println("The square root of "+x+" is "+root);三、华氏温度转换为摄氏温度。程序填空,不要改变与输入输出有关的语句。输入华氏温度f,计算并输出相应的摄氏温度c。c = 5/9(f-32).例:括号内是说明:输入17.2 (华氏温度)输出The temprature is -8.222222222222223import java.util.Scanner;public class Test20003 public static void main(String args) Scanner in=new Scanner(System.in); double f, c; f=in.nextDouble();c=5.0/9*(f-32); System.out.println("The temprature is "+c); 四、计算旅途时间。程序填空,不要改变与输入输出有关的语句。输入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;System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins.");       五、数字加密。程序填空,不要改变与输入输出有关的语句。输入1个四位数,将其加密后输出。方法是将该数每一位上的数字加9,然后除以10取余,做为该位上的新数字,最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。例:括号内是说明:输入1257输出The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)import java.util.Scanner;public class Test20005    public static void main(String args)       Scanner in=new Scanner(System.in);      int number, digit1, digit2, digit3, digit4, newnum;      number=in.nextInt(); /*先分离出各位上的数字*/ digit1=number/1000;(是这样来取得位数的) digit2=number/100%10; /或 digit2=(number-digit1*1000)/100; digit3=number/10%10; /或 digit3=(number-digit1*1000-digit2*100)/10; digit4=number%10; /*再调整各位上的数字*/ digit1=(digit1+9)%10; digit2=(digit2+9)%10; digit3=(digit3+9)%10; digit4=(digit4+9)%10; /*最后组成加密后的新数*/ newnum=digit3*1000+digit4*100+digit1*10+digit2;(注意这里是这样来实现交换的)      System.out.println("The encrypted number is "+newnum);       六、大写字母转换成小写字母。程序填空,不要改变与输入输出有关的语句。输入一个大写英文字母,输出相应的小写字母。例:输入G输出gimport java.io.*;public class Test20006   public static void main(String args) throws IOException      char ch;     ch=(char)System.in.read();     /*-*/ch=(char)(ch+32);     System.out.println(ch);      七、计算三门课程的平均成绩。程序填空,不要改变与输入输出有关的语句。已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。本题无输入。输出示例:math = 87, eng = 72, comp = 93 ,average = 84public class test20007 public static void main(String args) int math, eng, comp, average;math=87;eng=72;comp=93;average=(math+eng+comp)/3; System.out.println("math = "+math+", eng = "+eng+", comp = "+comp); System.out.println("average = "+ average);八、计算存款利息。程序填空,不要改变与输入输出有关的语句。输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。interest = money(1+rate)year - money输入输出示例:括号内为说明输入1000 3 0.025(money = 1000, year = 3, rate = 0.025)输出interest = 76.89import java.util.Scanner;public class test20008 public static void main(String args) int money, year; double interest, rate; Scanner in=new Scanner(System.in); /*使用in.nextDouble()和in.nextInt()输入double和int型数据*/money=in.nextInt();year=in.nextInt();rate=in.nextDouble();interest=money*Math.pow(1+rate), year )- money;表示的是1+rate的year方幂 System.out.println("interest = "+ (int)(interest*100+0.5)/100.0); /保留两位小数实验5 分支结构程序的设计一、显示两级成绩,程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。输出使用System.out.println("Pass");及System.out.println("Fail");例:括号内是说明:输入2 (repeat=2) 60 59输出Pass Failimport 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(); if (mark<60) System.out.println("Fail"); else System.out.println("Pass");二、找最小值,程序填空,不要改变与输入输出有关的语句。输入一个正整数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);三、求三角形的面积和周长,程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter;否则,输出“These sides do not correspond to a valid triangle”。在一个三角形中,任意两边之和大于第三边。三角形的面积计算公式:aere*area = s(s-a)(s-b)(s-c)其中:s = (a+b+c)/2输出代码:System.out.println("area="+(int)(area*100+0.5)/100.+"perimeter="+(int)(perimeter*100+0.5)/100.);System.out.println("These sides do not correspond to a valid triangle"); 例:括号内是说明输入2 (repeat=2) 5 5 31 1 4输出area=7.15;perimeter=13.0These sides do not correspond to a valid triangleimport java.util.Scanner;public class Test30003 public static void main(String args) int ri, repeat; float a, b, c, area, perimeter, s;Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) a=in.nextFloat(); b=in.nextFloat(); c=in.nextFloat();     /*-*/ if (a+b>c&&a+c>b&&b+c>a) s=(a+b+c)/2; area=(float)Math.sqrt(s*(s-a)*(s-b)*(s-c); perimeter=a+b+c; System.out.println("area="+(int)(area*100+0.5)/100.+"perimeter="+(int)(perimeter*100+0.5)/100.); else System.out.println("These sides do not correspond to a valid triangle");四、判断数的符号,程序填空,不要改变与输入输出有关的语句。输入整数x,若x大于0,y=1;若x等于0,y=0;否则,y=-1,最后输出y。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); if(x>0) y=1; if(x<0) y=-1; else y=0;(这样是错的。这是为什么?)五、计算个人所得税,程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个职工的月薪salary,输出应交的个人所得税tax。tax = rate * (salary-850)当 salary <= 850 时,rate = 0%;当 850 < salary <= 1350 时,rate = 5%;当 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); 六、显示水果的价格,程序填空,不要改变与输入输出有关的语句。输入一个正整数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); 七、字母转换,程序填空,不要改变与输入输出有关的语句。输入一批以问号“?”结束的字符,对“?”以前的每一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。import java.io.*;public class Test30007 public static void main(String args)throws IOException char ch; ch=(char)System.in.read(); while(ch!='?')     /*-*/ if('A'<=ch&&ch<='Z') ch+=32; else if('a'<=ch&&ch<='z') /此处必须使用if结构的嵌套 ch-=32; System.out.print(ch); ch=(char)System.in.read();实验6 循环结构程序的设计(一)第8题可考虑放到下次再做1. 求11/21/31/n 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入1 个正整数 n(n<=100),计算并输出11/21/31/n 。i=1; i<=n; sum=0; do i=i+1; sum=sum+1/i; while(n<=100); System.out.println(int)(sum*1000+0.5)/1000.);import java.util.Scanner;public class Test40001 public static void main(String args) int ri, repeat; int i, n; float sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) n=in.nextInt();/以下if语句用于检查输入数据的正确性,可以不写if(n<=0|n>100) /输入0、负数或大于100的数时结束程序的运行System.out.println("输入数据出错,程序退出");System.exit(0); sum=0;/注意这条赋初值语句的位置for(i=1;i<=n;i+)sum+=1.0f/i; System.out.println(int)(sum*1000+0.5)/1000.);2. 求n! 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入1 个正整数 n(n<=50),计算并输出n! 。import java.util.Scanner;public class Test40002 public static void main(String args) int ri, repeat; int i, n; double fact;/ 这里的double在编写中是用不到的吧 Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) n=in.nextInt(); fact=1; for(i=1;i<=n;i+) fact*=i; System.out.println(fact);3. 求x的n次幂 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入1 个正实数x和1个正整数 n(n<=50),计算并输出x的n次幂。import java.util.Scanner;public class Test40003 public static void main(String args) int ri, repeat; int i, n; double x, mypow; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) x=in.nextDouble(); n=in.nextInt(); mypow=1; for(i=1;i<=n;i+) mypow*=x; System.out.println(mypow); /这个,怎么感觉有些不对?4. 求11/31/51/7 程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入1 个正整数 n(n<=100),计算并输出11/31/51/7的前n项和。import java.util.Scanner;public class Test40005 public static void main(String args) int ri, repeat;int i, n, temp;float sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri<=repeat; ri+) n=in.nextInt();temp=1;sum=0;for(i=1;i<=n;i+) /那这里i是什么用的么?循环N次! sum+=1.0f/temp; temp+=2; System.out.println(sum);解法二:temp=2*n-1; sum=0; for(i=1;i<=temp;i+=2) sum+=1.0f/i;5. 摄氏温度和华氏温度转换表。程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入2个整数begin和end,分别代表摄氏温度的起止值,输出该范围内摄氏温度C和华氏温度F的转换表。F = 32 + C * 9 / 5输出语句:System.out.println(c+"t"+f);import java.util.Scanner;public class Test40007 public static void main(String args) int ri, repeat; int begin, c, end, f; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) begin=in.nextInt(); end=in.nextInt(); System.out.println("Celsius Fahrenheit");/这一条在最后他是自会输出的! for(c=begin;c<=end;c+) /这样显然也是可以的 f=32+c*9/5; System.out.println(c+"t"+f); /就算是空格也不要忘了加引号!6. 求奇数和。程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:读入一批正整数(以零或负数为结束标志),求其中的奇数和。import java.util.Scanner;public class Test40008 public static void main(String args) int ri, repeat; int x, sum; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) x=in.nextInt(); sum=0; while(x>0) if(x%2!=0)sum+=x; x=in.nextInt(); 为什么把他放前面顺序就不一样了呢? System.out.println(sum);sum=0; if(x%2!=0) sum+=x; /if 和 while之间的区别要分清楚了!7. 求最大值。程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个正整数n, 再输入n个整数,输出最大值。import java.util.Scanner;public class Test40009 public static void main(String args) int ri, repeat; int i , max, n, x; Scanner in=new Scanner(System.in); repeat=in.nextInt(); for(ri=1; ri<=repeat; ri+) n=in.nextInt(); max=in.nextInt();for(i=1;i<=n-1;i+) x=in.nextInt(); if(x>max)max=x; System.out.println(max);8. 求整数的位数以及各位数之和。程序填空,不要改变与输入输出有关的语句。输入一个正整数repeat (0<repeat<10),做repeat次下列运算:输入一个整数,输出它的位数以及各位数之和。import java.util.Scanner;public class Test40010 public static void

    注意事项

    本文(浙江大学java上机参考答案.doc)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开