Java期末25道题_第1页
Java期末25道题_第2页
Java期末25道题_第3页
Java期末25道题_第4页
Java期末25道题_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、、求两个数的和与差。输入整数a和b,计算并输出a b的和与差 例: 输入2 -8输出The sum is -6The difference is 10import java.io.*;import java.util.Scanner;public class Test20001public 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(

2、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();r

3、oot=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.import java.util.Scanner;public class Test20003 public static void main(String args) Scanner in=new Scanner(System.in);double f, c;f=in

4、.nextDouble();c=5.0/9*(f-32); / 注意 :5/9 结果是 0System.out.println(The temprature is +c);数字加密。输入 1个四位数 ,将其加密后输出。方法是将该数每一位上的数字加 9,然后 除以 10取余,做为该位上的新数字 ,最后将第 1位和第 3位上的数字互换 ,第 2位和 第 4 位上的数字互换 , 组成加密后的新数。例:括号内是说明输入输出1257The encrypted number is 4601( 每一位上的数字加 9 除以 10 取余后 , 得 0146, 交换后得到 4601)import java.uti

5、l.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; / 或 digi

6、t3=(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); 六、大写字母转换成小写字母。输入一个大写英文字母 , 输

7、出相应的小写字母。 例: 输入G输出gimport java.io.*;public class Test20006 public static void main(String args) throws IOException char ch;ch=(char)System.in.read();ch+=32; / 或 ch=(char)(ch+32);System.out.println(ch);七、计算三门课程的平均成绩。已知某位学生的数学、英语和计算机课程的成绩分别是87 分、 72分和 93 分,求该生 3 门课程的平均分。本题无输入。输出示例 :math = 87, eng = 72

8、, comp = 93average = 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);九、计算两个数的和、差、积、商与余数。输入2个整数numl和num2,

9、计算并输出它们的和、差、积、商与余数输入输出示例 : 括号内是说明输入5 3 (num1=5,num2=3)输出5+3=85-3=25*3=155/3=15%3=2import java.util.Scanner;public class Test20010public static void main(String args)int num1,num2;Scanner in=new Scanner(System.in);num1=in.nextInt();num2=in.nextInt();System.out.println(num1+num2+=+(num1+num2);System.o

10、ut.println(num1+-+num2+=+(num1-num2);System.out.println(num1+*+num2+=+(num1*num2);System.out.println(num1+/+num2+=+(num1/num2);System.out.println(num1+%+num2+=+(num1%num2);十、计算一个 3 位数的各位数字。的值十位数字 (b) 和百位数字 (a)输入一个 3 位数 n, 分别求出 n 的个位数字 (c)输入输出示例 :输入:152输出:number152:digit1=2,digit2=5,digit3=1import ja

11、va.util.Scanner;public class Test20011public static void main(String args)int a,b,c,n;Scanner in=new Scanner(System.in);n=in.nextInt();*/*c=n%10;b=(n/10)%10;a=(n/100)%10;System.out.println(number+n+:digit1=+c+,digit2=+b+,digit3=+ a);十一、计算 x 的平方。输入x,计算x的平方y。并分别以y=x*x和x*x=y的形式输出x和y的 值。输入输出示例 :输入:3输出 :

12、( 输出中不能出现空格 )9=3*33*3=9import java.util.Scanner;import java.util.Scanner;public class Test20012 public static void main(String args) int x,y;Scanner in=new Scanner(System.in); x=in.nextInt();y=x*x;System.out.println(y+=+x+*+x);System.out.println(x+*+x+=+y);一、显示两级成绩输入一个正整数 repeat (0repeat10), 做 repea

13、t 次下列运算 :输入一个学生的数学成绩 ,如果它低于 60,输出“ Fail ”,否则 ,输出“ Pass”。输出使用 System.out.pri ntl n( Pass);及System.out.println(Fail);例:括号内是说明输入2 (repeat=2)60 59输出PassFailimport java.util.Scanner;public class Test30001public static void main(String args)int ri, repeat;int mark;Scanner in=new Scanner(System.in); repeat

14、=in.nextInt();for(ri=1; ri=repeat; ri+)mark=in.nextInt();/*/if (mark60)System.out.println(Fail);elseSystem.out.println(Pass);二、找最小值输入一个正整数 repeat (0repeat10), 做 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

15、中的最小值是 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; rib) min=b;if(minc) min=c;if(mind) min=d;System.out.println(min is +min);四

16、、判断数的符号输入整数 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 Test30004public static void main(String args)int ri, repeat;int x, y;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri

17、=1; ri0) y=1;else if(x=0) y=0; /注意:= 是赋值运算符 ,=才是比较相等的运算符else y=-1;System.out.println(y);字母转换输入一批以问号“ ?”结束的字符 , 对“?”以前的每一个字符 , 如果它是大写 字母, 输出相应的小写字母 ; 如果它是小写字母 ,输出相应的大写字母 ; 否则, 原样输 出。例:输入F=y?输出f=Yimport java.io.*;public class Test30007 public static void main(String args)throws IOExceptionchar ch;ch=(

18、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();八、计算函数的值输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 :输入整数 x, 计算并输出下列函数 f(x) 的值(保留 2位小数, 如果答案为3.50, 则直接显示为 3.5) 。当 x 等于 0 时 ,f(x) = 0, 当 x 不等于 0 时, f(x) = 1/x 。

19、输入输出示例 : 括号内是说明输入3 (repeat=3)10 (x=10)6 (x=6)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();y=0;if(x=0)e

20、lsey=(int)(1.0/x)*100+0.5)/100.;/ 或 y=Math.rint(1.0/x)*100)/100.;System.out.println(f(+x+)=+y);说明: 对正数 y 保留两位小数的表达式 (int)(y*100+0.5)/100.0或 Math.rint(1.0/x)*100)/100.0九、显示五级记分制成绩对应的百分制区间输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 :输入五级制成绩 (A-E), 输出相应的百分制成绩 (0-100) 区间, 要求使用 switch 语句。五级制成绩对应的百分制成绩区间为

21、:A(90-100) 、B(80-89) 、 C(70-79) 、D(60-69)和E(0-59),如果输入不正确的成绩,显示In valid in put 。输入输出示例 : 括号内是说明输入C、D E和无效的字A B C D E j (repeat=6, 输入的五级成绩分别为 A、B、 符 j) 输出90-10080-8970-7960-690-59Invalid inputimport java.util.Scanner;public class Test30010public static void main(String args)int repeat, ri;char ch;Sca

22、nner in=new Scanner(System.in);repeat=in.nextInt();for(ri = 1; ri = repeat; ri+)*/*switch(ch) caseA:System.out.println(90-100);break;caseB:System.out.println(80-89);break;caseC:System.out.println(70-79);break;caseD:System.out.println(60-69);break;caseE:System.out.println(0-59);break;default: System.

23、out.println(Invalid input);1. 求 1+1/2+1/3+ +1/n输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 :读入1个正整数n(n=100),计算并输出1+1/2+1/3+1/n 例:括号内是说明 输入2 (repeat=1)210输出1.52.9289684import java.util.Scanner;public class Test40001 public static void main(String args) int ri, repeat;int i, n;float sum;Scanner in=new

24、Scanner(System.in); repeat=in.nextInt();for(ri=1; ri=repeat; ri+) n=in.nextInt();sum=0;/ 注意这条赋初值语句的位置for(i=1;i=n;i+)sum+=1.0f/i;System.out.println(int)(sum*1000+0.5)/1000.);2. 求 n!输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 :读入 1 个正整数 n(n=50), 计算并输出 n! 。例:括号内是说明输入3 (repeat=2)1105输出1.03628800.0120.0im

25、port java.util.Scanner;public class Test40002 public static void main(String args) int ri, repeat;int i, n;double fact;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri=repeat; ri+) n=in.nextInt();for(i=1;i=n;i+)fact=1;fact*=i;System.out.println(fact);3. 求 x 的 n 次幂输入一个正整数 repeat (0

26、repeat10), 做 repeat 次下列运算 : 读入 1 个正实数 x 和 1 个正整数 n(n=50), 计算并输出 x 的 n 次幂 例:括号内是说明输入2 (repeat=2)1.5 22.0 10输出2.25import java.util.Scanner;1024.0public 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();fo

27、r(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. 求奇数和输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 : 读入一批正 整数( 以零或负数为结束标志 ), 求其中的奇数和。例:括号内是说明输入2 (repeat=2)1 3 90 7 08 7 4 3 70 5 6 101 -1输出11116import java.util.Scanner;public class Test

28、40008 public static void main(String args)int ri, repeat;int x, sum;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri0)if(x%2!=0)sum+=x;x=in.nextInt();System.out.println(sum);5. 求最大值输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 :输入一个正整数 n, 再输入 n 个整数, 输出最大值。例:括号内是说明输入3 (repeat=3)4 2 123

29、 -100 04 9 1 -1 83 1 3 5输出12395import 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;imax)max=x;System.out.pr

30、intln(max);6. 求整数的位数以及各位数之和输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 : 输入一个整数 , 输出它的位数以及各位数之和。例:括号内是说明输入4 (repeat=4)123456 -100 -1 99输出number=6, sum=21 (123456 的位数是 6, 各位数之和是 21) number=3, sum=1 (-100 的位数是 3, 各位数之和是 1) number=1, sum=1 (-1 的位数是 1, 各位数之和是 1) number=2, sum=18 (99 的位数是 2, 各位数之和是 18) im

31、port java.util.Scanner;public class Test40010 public static void main(String args)int ri, repeat;int number, sum,n;Scanner in=new Scanner(System.in);repeat=in.nextInt();for(ri=1; ri0);/* 如果使用 while 语句, 输入 0时输出“ number=0, sum=0”,其中 number 的值不正确 , 应是 1 */System.out.println(number=+number+, sum=+sum);1

32、. 判断素数输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 :输入一个正整数m,如果它是素数,输出YES,否则,输出N0(素数就是只能 被 1和自身整除的正整数 ,1 不是素数 ,2 是素数)。例:括号内是说明输入4 (repeat=4)1 2 9 17输出NO (1 不是素数)YES (2 是素数)NO (9 不是素数)YES (17 是素数)import java.util.Scanner;public class Test40013public static void main(String args) int ri, repeat;int i, m

33、, n;boolean flag;Scanner in=new Scanner(System.in); repeat=in.nextInt();for(ri=1; ri=repeat; ri+)m=in.nextInt();*/*flag=true;if(m=1)flag=false;for(i=2;i=m-1;i+)if(m%i=0)flag=false;break;if(flag) System.out.println(YES);else System.out.println(NO);说明:变量n未用到2. 求最小公倍数和最大公约数输入一个正整数 repeat (0repeat10), 做

34、 repeat 次下列运算 : 输入两个正 整数m和n,输出它们的最小公倍数和最大公约数输入输出示例 : 括号内为说明输入:3 (repeat=3)3 7 (m=3,n=7)24 4 (m=24,n=4)24 18 (m=24,n=18)输出:the least common multiple:21, the greatest common divisor:1 the least common multiple:24, the greatest common divisor:4 the least common multiple:72, the greatest common divisor:

35、6 import java.util.*;public class Test40014 public static void main(String args)Scanner in=new Scanner(System.in);int gcd, lcm, m, n,r;int repeat, ri;repeat=in.nextInt();for(ri=1; ri=repeat; ri+)m=in.nextInt();n=in.nextInt();if(m= 0|n= 0)System.out.println(m = 0 or n = 0);else lcm=m*n;if(mn)r=m;m=n;

36、n=r;r=m%n;while(r!=0)m=n; n=r; r=m%n;gcd=n;lcm=lcm/gcd;System.out.println(the least common multiple:+lcm+, the greatest common divisor:+gcd);3. 求各位数字的立方和等于它本身的数。输入一个正整数 repeat (0repeat10), 做 repeat 次下列运算 :输入2个正整数m和n(1=m,*=1000),输出m和n之间所有满足各位数字 的立方和等于它本身的数。输出语句 :System.out.println(i);例:括号内是说明输入:2 (repeat=2)100 400 (m=100, n=400)1 100 (m=1, n=100)输出 :153 (1*1*1+5*5*5+3*3*3=153)370 (3*3*3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论