1、JAVA编程题全集100题及答案2 Java程序设计总复习题1. 编写一个Java程序,用if-else语句判断某年份是否为闰年。(1)编写一个圆类Circle,该类拥有:一个成员变量Radius(私有,浮点型); ;public class Strinput public static void main(String args) String s1,s2,ss,si,sf; int i1,i2; float f1,f2; BufferedReader strin=new BufferedReader(new InputStreamReader); try (输入第一个字符串: ); s1=
2、 (); (输入第二个字符串: ); s2= (); catch(Exception e) i1 = (s1); i2 = (s2); f1 = (s1); f2 = (s2); ss = strAdd(s1,s2); si = strAdd(i1,i2); sf = strAdd(f1,f2); (输入的二个字符串相加结果为:+ss ); (输入字符串转换为整数相加结果为:+si ); (输入字符串转换为浮点数相加结果为:+sf ); String strAdd(String str1,String str2) return str1+str2;String strAdd(int int1,
3、int int2) return (int1+int2);String strAdd(float flt1,float flt2) return (flt1+flt2); 6. 应用FileInputStream类,编写应用程序,从磁盘上读取一个Java程序,并将源程序代码显示在屏幕上。(被读取的文件路径为:E:/myjava/); public class FISDemo public static void main(String args) byte buf=new byte2056; try FileInputStream fileIn=new FileInputStream(e:/m
4、yjava/); int bytes=(buf,0,2056); String str=new String(buf,0,bytes); e) ( );7、编写一个Java程序将当100,101,102,103,104,105个数以数组的形式写入到文件中,并以相反的顺序读出显示在屏幕上。(p190,例7-2) ; public class IODemo public static void main( String args ) int data = 100,101,102,103,104,105;int t;try DataOutputStream out = new DataOutputS
5、tream (new FileOutputStream(“”); for(int i=0;i= 0;i-) t=(datai); ”+t); ); ();catch(IOException e) 8. 利用Applet类和Runnable接口实现滚动字幕,其中字幕文字(“学好Java有工作”)和时间间隔(“200”)需要由页面文件中标记的子标记传递。import class MoveMessage extends JApplet implements Runnable String str; int time; private Thread thread; public void init()
6、 setBackground; str = getParameter(message); String timeArg = getParameter(time); time = (timeArg); thread = new Thread(this); public void start() (); public void run() int x = 0; Graphics g = getGraphics(); while (true) try (time); catch (Exception e) (); (0, 0, getWidth(), getHeight(); (str, x, 30
7、); x += 2; if (x = getWidth() x = 0; 9、编写一个Java程序实现多线程,在线程中输出线程的名字,隔300毫秒输出一次,共输出20次。(p202,例8-1) 编写程序,在屏幕上显示带标题的窗口,并添加一个按钮。当用户单击按钮时,结束程序。;import class ButtonEventDemo extends JPanel implements ActionListenerprotected JButton b1; 利用线程方法编写JApplet程序,实现在浏览器端实时动态显示本地系统时钟;import .*;public class Watch exte
8、nds Applet public void paint(Graphics g) Date d= new Date(); DateFormat ldf = , ; oString(); (time, 100, 100); try (1000); catch (InterruptedException e) repaint(); JavaAppletDemo Java max) max=sti.sJava; sum=sum+sti.sJava; 学生编号:+sti.getNO()+, 姓名:+sti.getName()+, 性别:+sti.getSex()+, 年龄:+sti.getAge()+
9、, Java课学分:+sti.getJava(); 共有学生:+, 平均成绩:+sum/; 最小学分:+min+, 最大学分:+max); 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少;public class lianxi04 public static void main(String args) Scanner s = new Scanner; 请键入一个正整数: ); int n = (); int k=2; + = ); while(k =90分的同学用A表示,60-89分
10、之间的用B表示,60分以下的用C表示。import .*;public class lianxi05 public static void main(String args) int x; char grade; Scanner s = new Scanner; 请输入一个成绩: ); x = (); grade = x = 90 A : x = 60 B :C; 等级为:+grade); 【程序6】题目:输入两个正整数m和n,求其最大公约数和最小公倍数。/*在循环中,只要除数不等于0,用较大数除以较小的数,将小的一个数作为下一轮循环的大数,取得的余数作为下一轮循环的较小的数,如此循环直到较小
11、的数的值为0,返回较大的数,此数即为最大公约数,最小公倍数为两数之积除以最大公约数。* /import .*;public class lianxi06 public static void main(String args) int a ,b,m;Scanner s = new Scanner; 键入一个整数: ); a = (); 再键入一个整数: ); b = (); deff cd = new deff(); m = (a,b); int n = a * b / m; 最大公约数: + m); 最小公倍数: + n); class deffpublic int deff(int x,
12、int y) int t; if(x y) t = x; x = y; y = t; while(y != 0) if(x = y) return x; else int k = x % y; x = y; y = k; return x; 【程序7】题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。import .*;public class lianxi07 public static void main(String args) int digital = 0;int character = 0;int other = 0;int blank = 0; char c
13、h = null; Scanner sc = new Scanner; String s = (); ch = (); for(int i=0; i= 0 & ch = a & ch A & ch = Z) character +; else if(ch = ) blank +; else other +; 数字个数: + digital); 英文字母个数: + character); 空格个数: + blank); 其他字符个数: + other );【程序8】题目:求s=a+aa+aaa+aaaa+aa.a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相
14、加),几个数相加有键盘控制。import .*;public class lianxi08 public static void main(String args) long a , b = 0, sum = 0; Scanner s = new Scanner; 输入数字a的值: ); a = (); 输入相加的项数:); int n = (); int i = 0; while(i n) b = b + a; sum = sum + b; a = a * 10; + i; 【程序9】题目:一个数如果恰好等于它的因子之和,这个数就称为 完数 。例如6=123.编程 找出1000以内的所有完数
15、。public class lianxi09 public static void main(String args) 1到1000的完数有: ); for(int i=1; i1000; i+) int t = 0; for(int j=1; j= i/2; j+) if(i % j = 0) t = t + j; if(t = i) + ); 【程序10】题目:一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10次落地时,共经过多少米第10次反弹多高 public class lianxi10 public static void main(String arg
16、s) double h = 100,s = 100; for(int i=1; i10; i+) s = s + h; h = h / 2; 经过路程: + s); 反弹高度: + h / 2); 【程序11】题目:有1、2、3、4四个数字,能组成多少个互不相同且无重复数字的三位数都是多少public class lianxi11 public static void main(String args) int count = 0; for(int x=1; x5; x+) for(int y=1; y5; y+) for(int z=1; z 0 & x 10 & x 20 & x 40 &
17、 x 60 & x 100) y = 20 * + 40 * + 40 * + (x - 100) * ; 应该提取的奖金是 + y + 万);【程序13】题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少public class lianxi13 public static void main(String args) for(int x =1; x100000; x+) if(x+100) % 1 = 0) if(x+268) % 1 = 0) + 加100是一个完全平方数,再加168又是一个完全平方数); /*按题意循环应该从-100开始(整数
18、包括正整数、负整数、零),这样会多一个满足条件的数-99。但是我看到大部分人解这道题目时都把题中的“整数”理解成正整数,我也就随大流了。*/【程序14】题目:输入某年某月某日,判断这一天是这一年的第几天import .*;public class lianxi14 public static void main(String args) int year, month, day; int days = 0; int d = 0; int e; input fymd = new input(); do e = 0; 输入年:); year =(); 输入月:); month = (); 输入天:); day = (); if (year 0 | month 12 | day 31) 输入错误,请重新输入!); e=1 ; while( e=1); for (int i=1; i y) int t = x; x = y; y = t;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1