java编程题-.pdf

上传人:索**** 文档编号:76243077 上传时间:2023-03-08 格式:PDF 页数:11 大小:51.78KB
返回 下载 相关 举报
java编程题-.pdf_第1页
第1页 / 共11页
java编程题-.pdf_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《java编程题-.pdf》由会员分享,可在线阅读,更多相关《java编程题-.pdf(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、1.定义一个包括10 个元素一维整型数组,通过从键盘输入的10 个整数对数组进行初始化,将数组中的元素按小到大排序后在屏幕上显示,求出该数组中元素的最小值、最大值以及平均值并在屏幕上显示输出。解答:import java.util.Scanner;import java.util.Arrays;public class Test public static void main(String args)int x=new int10;double sum=0;Scanner scr=new Scanner(System.in);for(int i=0;ix.length;i+)xi=scr.ne

2、xtInt();Arrays.sort(x);for(int i=0;ix.length;i+)sum+=xi;System.out.println(Max=+xx.length-1);System.out.println(Min=+x0);System.out.println(Average=+sum/x.length);2.编写一个学生类Student:属性包括:学号(id)、姓名(name)、英语成绩(eng)、数学成绩(math)、计算机成绩(comp)和总成绩(sum)方法包括:构造方法、各属性的set 方法、各属性的get 方法、toString方法(输出学生的全部信息)、sum方

3、法(计算总成绩)。解答:public class Student implements Serializable /属性定义public Student(String id,String name,int eng,int math,int comp)this.id=id;this.name=name;this.eng=eng;this.math=math;p=comp;sum();/计算总成绩 public Student(Student s)this.id=s.id;this.name=new String(s.name);this.eng=s.eng;this.math=s.math;p=

4、p;sum();/计算总成绩 public void setId(String id)this.id=id;public void setName(String name)this.name=name;public void setEng(int eng)this.eng=eng;sum();public void setMath(int math)this.math=math;sum();public void setComp(int comp)p=comp;sum();public String getId()return id;public String getName()return

5、name;public int getEng()return eng;public int getMath()return math;public int getComp()return comp;public int getSum()return sum;void sum()this.sum=eng+math+comp;public String toString()return getId()+t+getName()+t+getEng()+t+getMath()+t+getComp()+t+getSum();3.设计一个一元二次方程类,并为这个类添加异常处理。解答:publicclass

6、Operation publicstaticvoid main(String args)String s=;double a,b,c,r1,r2;System.out.print(求二元一次方程的根);System.out.print(请键入第一个系数a);try BufferedReader in=new BufferedReader(new InputStreamReader(System.in);s=in.readLine();catch(IOException e)a=Double.parseDouble(s);System.out.print(请键入第二个系数b);try Buffe

7、redReader in=new BufferedReader(new InputStreamReader(System.in);s=in.readLine();catch(IOException e)b=Double.parseDouble(s);System.out.print(请键入第三个系数c);try BufferedReader in=new BufferedReader(new InputStreamReader(System.in);s=in.readLine();catch(IOException e)c=Double.parseDouble(s);r1=(-b+Math.s

8、qrt(b*b-4*a*c)/(2*a);r2=(-b-Math.sqrt(b*b-4*a*c)/(2*a);System.out.print(该二元一次方程的根为:+r1+和+r2);4.编写一个应用程序创建两个线程,一个线程打印输出11000 之间所有 3 的倍数,另外一个线程打印输出 10002000 之间所有 5 的倍数。解答:class Thread1 extends Thread public Thread1(String msg)super(msg);public void run()int sum=0;for(int i=1;i=1000;i+)if(i%3=0)System.

9、out.println(i);class Thread2 extends Thread public Thread2(String msg)super(msg);public void run()int sum=0;for(int i=1000;i=2000;i+)if(i%5=0)System.out.println(i);public class Exam5 public static void main(String args)Thread1 x=new Thread1(Thread1);Thread2 y=new Thread2(Thread2);x.start();y.start()

10、;5.水仙花数是指这样的三位数,其个位、十位和百位三个数的平方和等于这个三位数本身,请编写程序打印输出所有(100999 之间)的水仙花数。解答:public class Narcissus public static void main(String args)int i,j,k,n=100,m=1;while(n1000)i=n/100;j=(n-i*100)/10;k=n%10;if(Math.pow(i,3)+Math.pow(j,3)+Math.pow(k,3)=n)System.out.println(找到第+m+个水仙花数:+n);n+;m=1;/或者使用下面的方法for(n=1

11、00;n1000;n+)i=n/100;j=(n-i*100)/10;k=n%10;if(Math.pow(i,3)+Math.pow(j,3)+Math.pow(k,3)=n)System.out.println(找到第+m+个水仙花数:+n);n+;6.编写程序随机生成10 个 1 到 200 之间的正整数,打印输出这些随机数并求它们的最大值、最小值、平均值。解答:import java.util.Arrays;public class Test public static void main(String args)int a=new int10;double sum=0;for(int

12、 i=0;ia.length;i+)ai=(int)(Math.random()*200+1);sum+=ai;System.out.print(ai+);Arrays.sort(a);System.out.println(nmin=+a0);System.out.println(max=+aa.length-1);System.out.println(average=+(sum/a.length);7.按以下要求定义一个类Circle 描述一个圆,并完成相应的操作:(1)实例属性:圆心x 坐标(xpoint)、圆心 y 坐标(ypoint)和半径(radius)。(2)构造方法:给3 个属性

13、赋初值。(3)实例方法(area):求圆的面积。(4)实例方法(circumference):求圆的周长。(5)重写 toString()方法,返回圆心坐标和半径。(6)实例化这个类,调用方法完成信息的输出。解答:class Circle private double xpoint;private double ypoint;private double radius;public Circle(double x,double y,double r)xpoint=x;ypoint=y;radius=r;public double area()return Math.PI*radius*radi

14、us;public double circumference()return 2*Math.PI*radius;public String toString()return 圆心:(+xpoint+,+ypoint+)+半径:+radius;public class Test public static void main(String args)Circle obj=new Circle(0,0,100);System.out.println(obj);System.out.println(obj.area();System.out.println(obj.circumference();8

15、.编写程序计算a=4c/b 的值,处理当b=0 时的情况(要求:使用Java的异常处理机制)。解答:public class Exam4 public void result(int x,int y)int a=0;try a=4*y/x;System.out.println(运算结果为:+a);catch(Exception e)System.out.println(e.toString();public static void main(String args)/Random r=new Random();int b=r.nextInt(20),c=r.nextInt(20);int b=

16、0,c=2;System.out.println(b=+b+,c=+c);Exam4 ex=new Exam4();ex.result(b,c);9.定义一个包含10 个整数的一维数组并对数组进行初始化,输出该数组的所有元素,并求出该数组元素中的最大值及其对应下标值。解答:import java.util.*;class Exam1 public static void main(String args)int i,max=0,index=0;int a=new int10;Random rand=new Random();for(i=0;i10;i+)ai=rand.nextInt(100)

17、;System.out.println(ai);if(maxai)max=ai;index=i;System.out.println(max=+max+,index=+index);说明:数组初始化方法不限,完成数组初始化即可。10.试编写应用程序从键盘输入一个整数x,求出 x 的所有素数,并将这些数在屏幕上5 个一行显示出来。解答:import java.util.Scanner;public class Test public static void main(String args)int i,j,k=0;Scanner scr=new Scanner(System.in);int x=

18、scr.nextInt();for(i=2;i=x;i+)for(j=2;ji/2)System.out.print(i+);k+;if(k%5=0)System.out.print(n);11.采用异常处理的方式编写程序,定义一个整型数组,输出所有元素,要求处理数组越界异常ArrayIndexOutOfBoundsException。解答:public class Exam4 public static void main(String args)int myarrays=1,2,3,4,5,6,7,8;try for(int i=0;imyarrays.length;i+)System.o

19、ut.println(myarraysi);catch(ArrayIndexOutOfBoundsException e)System.out.println(e.toString();12.编程求出 2n 之间的所有素数。n 由键盘输入。解答:import java.io.*;class Exam3_1 public static void main(String args)throws IOException String str;int n,i,j;BufferedReader in=new BufferedReader(new InputStreamReader(System.in);

20、str=in.readLine();in.close();n=Integer.valueOf(str).intValue();System.out.println(2);for(i=3;i=n;i=i+2)int k=(int)Math.sqrt(i)+1;for(j=2;j=k)System.out.println(i);13.按以下要求编程(1)编写 Animal 类,定义 leg 属性、有参构造函数对leg 赋初值,定义空的sound()方法;(2)编写 Flyable 接口,定义 speed()方法;(3)编写 Glede类继承 Animal 类并实现 Flyable 接口,定义 sp

21、eed属性,有参构造方法对leg 和 speed赋初值,speed()方法返回 speed属性,sound()方法输出“嘎”。(4)编写测试程序,定义包含2 个元素的 Glede 对象数组,分别调用speed()方法和 sound()方法。解答:class Animal int leg;public Animal()public Animal(int leg)this.leg=leg;interface Flyable int speed();class Glede extends Animal implements Flyable int speed;public Glede(int spe

22、ed)super(2);this.speed=speed;public int speed()return speed;public void sound()System.out.println(嘎);class exam3_3 public static void main(String args)Glede glede=new Glede2;glede0=new Glede(200);glede1=new Glede(150);System.out.println(glede0.speed();glede0.sound();System.out.println(glede1.speed()

23、;glede1.sound();14.编写程序,将从命令行获得字符串转换为整型值,处理当args0=“56k9”时的情况(要求捕获异常NumberFormatException 并处理)解答:class Exam3_4 public static void main(String args)try String str=args0;int n=Integer.parseInt(str);catch(NumberFormatException ne)System.out.println(ne);15.连 续 写 下 从 整 数1开 始 到 某 个 正 整 数N 之 间 的 所 有 整 数 时,能

24、 得 到 如 下 的 数 字 序 列:1234567891011121314151617181920212223,请编写程序输入正整数N,并计算得到的数字序列中数字字符的个数,程序的运行效果如下图所示。解答:import java.util.Scanner;public class Ex public static void main(String args)throws Exception int i=1,sum=0;Scanner sr=new Scanner(System.in);System.out.print(请输入正整数N:);int n=sr.nextInt();for(i=1;

25、i=n;i+)sum+=(i+).length();System.out.print(序列中的数字字符个数为:);System.out.println(sum);16.按以下要求定义类Point 表示平面上的一个点,定义类Circle 表示平面上的一个圆,具体要求如下:(1)Circle 类的实例属性:圆心x 坐标(xpoint)、圆心 y 坐标(ypoint)和半径(radius)。(2)Point 类的实例属性:点的x 坐标(x)、点的 y 坐标(y)。(3)分别编写 Point 类和 Circle 类的构造方法,对属性进行初始化。(4)在 Point 类中编写方法计算两个点之间的距离。方

26、法格式:publicstaticdouble distance(Point p1,Point p2)(5)在 Circle 类中编写方法判断一个点是否在圆内。方法格式:publicstaticboolean isInside(Circle c,Point p)(6)在测试类中实例化类的对象并调用方法完成信息的输出。解答:public class Circle private double xpoint;private double ypoint;private double radius;public Circle(double xpoint,double ypoint,double radi

27、us)this.xpoint=xpoint;this.ypoint=ypoint;this.radius=radius;public static boolean isInside(Circle c,Point p)double s=(c.xpoint-p.x)*(c.xpoint-p.x)+(c.ypoint-p.y)*(c.ypoint-p.y);if(s(c.radius*c.radius)return true;else return false;public class Point public double x;public double y;public Point(double

28、 x,double y)this.x=x;this.y=y;public static double distance(Point p1,Point p2)double s=(p1.x-p2.x)*(p1.x-p2.x)+(p1.y-p2.y)*(p1.y-p2.y);return Math.sqrt(s);public class Tester public static void main(String args)Point p1=new Point(1,1);Point p2=new Point(2,2);Circle c=new Circle(0,0,2);double s=Point

29、.distance(p1,p2);System.out.println(s);System.out.println(Circle.isInside(c,p1);System.out.println(Circle.isInside(c,p2);17.请编写一个应用程序创建两个线程,一个线程打印输出一个1500 之间所有奇数,另外一个线程打印输出 6001000 之间所有偶数,第一个线程每输出一个数休眠1000 毫秒,第二个线程每输出一个数休眠2000 毫秒,在主程序中启动这两个线程。解答:class Thread1 extends Thread public Thread1(String msg

30、)super(msg);public void run()int sum=0;for(int i=1;i=500;i+)if(i%2!=0)System.out.println(i);try Thread.sleep(1000);catch(Exception ex)System.out.println(ex.toString();class Thread2 extends Thread public Thread2(String msg)super(msg);public void run()int sum=0;for(int i=600;i=1000;i+)if(i%2=0)System.out.println(i);try Thread.sleep(2000);catch(Exception ex)System.out.println(ex.toString();public class Test public static void main(String args)Thread1 x=new Thread1(Thread1);Thread2 y=new Thread2(Thread2);x.start();y.start();

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 技术资料 > 实施方案

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

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com