当前位置:文档之家› java题

java题

一、简单编程
1.编写程序使用方法重载分别实现了两个和三个整数的相加。
package java练习题;
import java.util.*;
public class EX_01 {
public static void s(double a,double b){
double sum=0;
sum=a+b;
System.out.println(sum);
}
public static void s(double a,double b,double c){
double sum=0;
sum=a+b+c;
System.out.println(sum);
}
public static void main(String []args){
Scanner in=new Scanner(System.in);
System.out.println("请输入a的值:");
double a=in.nextDouble();
System.out.println("请输入b的值:");
double b=in.nextDouble();
System.out.println("请输入c的值:");
double c=in.nextDouble();
s(a,b);
s(a,b,c);
}
}


2.编写程序使用冒泡法对一组数进行排序
package java练习题;
public class EX_2{
public static void main(String args[]){
int temp;
int[] a={2,9,1,4,8,5,3};
for(int i=0;i<=a.length-1;i++){
for(int j=0;jif(a[j]{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}

}
System.out.println("冒泡排序:");
for( int i=1;iSystem.out.print(a[i]+"\t");
}
}
}


3.定义一个线程PrintThread,该线程打印输出1~1000之间所有3的倍数,每输出一个数休眠1500毫秒,在main方法中创建该线程的一个实例,并启动该线程。
package java练习题;
class EX_03 {
public static void main(String[] args) {
PrintThread myThread=new PrintThread();
myThread.start();
}
}
class PrintThread extends Thread{
public void run(){
for(int i=1;i<=1000;i++){
if(i%3==0){
System.out.println(i);
try {
Thread.sleep(1500);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}
}


4. 编写程序通过静态方法调用从包含10个学号的数组中随机抽取一个学号并输出显示。
package java练习题;
public class EX_04{
public static void main(String[]args){
String []a=new String[10];
a[0]="2012303015-李厂";
a[1]="2012303016-李国平";
a[2]="2012303017-张小杨";
a[3]="2012303018-任俊";
a[4]="2012303019-金一川";
a[5]="2012303020-乐苏财";
a[6]="2012303021-盛森林";
a[7]="2012303022-陈建旭";
a[8]="2012303023-李乾坤";
a[9]="2012303024-李操";
System.out.println(a[(int)(Math.random()*10)]);
}

}
5. 编写程序判断一个数是不是素数
package java练习题;
import java.util.*;
public class EX_05 {
public static void main(String[]args){
Scanner a=new Scanner(System.in);
System.out.println("请输入一个整数:");
int m=a.nextInt();
System.out.println("请再输入一个整数:");
int n=a.nextInt();
int count=0;
for(int i=m;i<=n;i++){
boolean b=false;
for(int j=2;jif(i%j==0){
b=false;
break;
}
else{
b=true;
}

}
i

f(b==true){
count++;
System.out.print(i+"\t");
if(count%6==0){
System.out.println();}
}
}
System.out.println();
System.out.println("素数的个数为"+count);
}

}


6. “三天打鱼两天晒网”。某人从2010年1月1日起三天打鱼两天晒网,编程计算2010年5月1日,他在打鱼还是在晒网。打鱼则输出1,晒网则输出0。
package java练习题;

public class EX_06 {
public static void main(String[]args){
int i=(31+28+31+30+1)%5;
if(i==1||i==2||i==3){
System.out.println("1"+"\t"+"-2010年5月1日他在打渔");
}
else{
System.out.println("0"+"\t"+"-2010年5月1日他在晒网");
}
}

}

8. 使用BufferedWriter类在D:\Hello.txt文件中写入10万个数并输出所用的时间。
编写程序判断一个数是否为同构数据
package java练习题;
import java.util.*;
import java.io.*;
public class EX_08 {
public static void main(String[]args)throws IOException{
String fileName="D:Hello.txt";
BufferedWriter s=new BufferedWriter(new FileWriter(fileName));
System.out.println("请输入十万个数:");
double starttime=System.currentTimeMillis();
for(int i=0;i<100000;i++){
s.write(i);
s.newLine();
}
System.out.println("数据已经输完了,哈哈");
double endtime=System.currentTimeMillis();
System.out.println("逗比,这次你总共用的时间为"+(endtime-starttime));
System.out.println("请输入一个整数用来判断是否是同构数");
Scanner in=new Scanner(System.in);
int m=in.nextInt();
int n = (m * m) % 10;
if(n == m)
System.out.println("是同构数");
else
System.out.println("不是同构数");

}
}
9. 编写程序练习将字符串转换为int、double类型,将数值类型转换为字符串类型。练习StringBuffer类的使用方法。
package java练习题;
import java.util.*;
public class EX_09 {
public static void main(String[]args){
Scanner in=new Scanner (System.in);
System.out.println("请输入一个int类型的字符串");
System.out.println("将字符串转换为int为:"+Integer.valueOf(in.next()).intValue());
System.out.println("请输入一个double类型的字符串");
System.out.println("将字符串转换为idouble为:"+Double.valueOf(in.next()).doubleValue());
System.out.println("请输入一个整数");
String b=String.valueOf(in.next());
System.out.println("其字符串为"+b);
}

}

10.编写程序读取文本并显示在屏幕上
package java练习题;
import java.io.*;
public class EX_10 {
public static void main(String []args){
String fileName="D:/tu.txt";
String line;
try{
BufferedReader in=new BufferedReader(new FileReader(fileName));
line=in.readLine();
while(line!=null){
System.out.println(line);
line=in.readLine();
}
in.close();
}
catch(IOException iox){
System.out.println("error"+

fileName);
}
}

}

11.输出n的所有质数因子 如n=13860 则输出2 2 3 3 5 7 1 1
(1). package java练习题;
import java.util.*;
public class EX_11_02 {
public static void main(String []args){
Scanner in=new Scanner(System.in);
System.out.println("请输入一个整数:");
int m=in.nextInt();
int k=2;
System.out.print("这个数的质数因子为:");
while(k<=m){
if(k==m){
System.out.print(k+"\t"+"1");
break;
}
else if(m%k==0){
System.out.print(k+"\t");
m=m/k;
}
else k++;
}
}

}
(2). package java练习题;
import java.util.*;
public class ECX_11 {
public static void main(String[]args){
Scanner in=new Scanner(System.in);
System.out.println("请输入一个整数");
int m=in.nextInt();
int k=2;
System.out.print(m+"=");
while(k<=m){
if(k==m){
System.out.println(k);
break;
}
else if(m%k==0){
System.out.print(k+"*");
m=m/k;
}
else{
k++;
}

}

}

}

12.创建线程,线程休眠,线程启动
package java练习题;
public class EX_12 {
public static void main(){
TestThread thread=new TestThread("thread");
System.out.println("启动线程");
thread.start();
System.out.println("Threads started,main ends\n");
}

}
class TestThread extends Thread{
private int sleepTime;
public TestThread(String name){
super(name);
sleepTime=(int)(Math.random()*1000);
}
public void run(){
try{
System.out.println("休眠时间:"+sleepTime);
Thread.sleep(sleepTime);
}
catch(InterruptedException exception){

}
System.out.println("thread finished");
}
}

13.编程从Hello.txt中读取文本并显示在屏幕上。
package java练习题;
import java.io.*;
public class EX_13 {
public static void main(String []args){
String fileName="D:/newHello.txt";
String line;
try{
BufferedReader in=new BufferedReader(new FileReader(fileName));
line=in.readLine();
while(line!=null){
System.out.println(line);
line=in.readLine();
}
in.close();
}
catch(IOException iox){
System.out.println("error"+fileName);
}
}


}


二 、程序分析

1.写出下面程序的运行结果。
public class A{
private int x=50;
public void setX(int x){
this.x = x+50;
}
public int getX(){
return x;
}
}
public class Tester {
public static void method1(A a){
a.setX(100);
}
public static void method2(int x){
x = 50;
}
public static void main(String[] args){
A a = new A();
method1(a);
System.out.println(a.getX());
int n = 10;
method2(n);
System.out.println(n);
}
} 150
10

2. 写出下面程序的运行结果。
import java.util.*;
public class Ex2{
public static void main(String[] args){
Vector myList = new Vector();
myList.add("C++");
myList.add("Java");

myList.add("C#");
myList.set(2,"Oracle");
myList.remove(0);
myList.remove(0);
System.out.println(myList.get(0));
Hashtable ht = new Hashtable();
ht.put("key","Java");
ht.put("key","C#");
Iterator its = ht.values().iterator();
while(its.hasNext()){
System.out.println(its.next());
}
}
}
oracle
C#

3. 写出下面程序的运行结果。
import java.util.*;
public class ArrayTester{
public static void main(String[] args){
int[] arrays1 = {1,3,5,7};
int[] arrays2 = {2,4,6,8};
int[] arrays3 = new int[4];
arrays2=arrays3;
for(int i=0;iarrays3[i]=arrays1[i];
}
for(int i=0;iSystem.out.println(arrays2[i]);
}
}
}
1
3
5
7
4. 写出下面程序的运行结果。

class AAA
{ int add(int x,int y)
{ return x+y;
}
}
class BBB extends AAA
{ int add(int x,int y)
{ return x-y;
}
}
public class Exam8
{ public static void main(String args[])
{ AAA a=new AAA();
System.out.println(a.add(66,44));
a=new BBB ();
System.out.println(a.add(66,44));
}
}
110
22
5. 写出下面程序的运行结果。

public class Exam9 extends TT
{
public static void main(String args[])
{
Exam9 t=new Exam9 ("Jack.");
}
public Exam9 (String s)
{
super(s);
System.out.print("How are you?");
}
public Exam9 ()
{
this("I am Tom.");
}
}
class TT
{
public TT()
{
System.out.print("Hi!");
}
public TT(String s)
{
this();
System.out.print("I am "+s);
}
}
Hi!I am Jack.How are you?

6. 写出下面程序的运行结果。

public class Exam10
{
String str=new String("good");
char[] ch = {'a','b','c'};
public static void main(String args[]){
Exam10 ex = new Exam10();
ex.change(ex.str,ex.ch);
System.out.println(ex.str+" and");
System.out.println(ex.ch);
}
public void change(String str,char ch[]){
str = "test ok";
ch[0] = 'g';
}
}
good and
gbc

7. 指出下列程序运行的结果。
class Employee{
static void expenseAllowance(){
System.out.println("in class Employee!"); }
}
class Manager extends Employee{
static void expenseAllowance(){
System.out.println("in class Manager!"); }
}
class ex{
public static void main(String args[]){
Manager man = new Manager();
Employee emp1 = new Employee();
Employee emp2 = (Employee)man;
man.expenseAllowance();
emp1.expenseAllowance();
emp2.expenseAllowance();
}
}
in class Manager!
in class Employee!
in class Employee!

8. 指出下列程序运行的结果。
class Employee{
void depoit(){
System.out.println("in class Em

ployee!"); }

}
class Manager extends Employee{
void depoit(){
System.out.println("in class Manager!"); }
}
class ex{
public static void main(String args[]){
Manager man = new Manager();
Employee emp1 = new Employee();
Employee emp2 = (Employee)man;
man. depoit();
emp1. depoit();
emp2. depoit();
}
}
in class Manager!
in class Employee!
in class Manager!


9. 通过命令行输入两个整数2和3,编程输出显示两个整数的积。
package java练习题;
import java.util.*;
public class EX_14 {
public static void main(String[]args){
Scanner in=new Scanner(System.in);
System.out.println("请输入第一个数:");
int m=in.nextInt();
System.out.println("请输入第二个数:");
int n=in.nextInt();
int mutil;
System.out.println("这两个数的乘积mutil="+(m*n));
}

}

10.子类调用父类构造方法。
package java练习题;
class Employee{
static void expenseAllowance(){
System.out.println("in class Employee!"); }
}
class Manager extends Employee{
static void expenseAllowance(){
System.out.println("in class Manager!"); }
}
class ex{
public static void main(String args[]){
Manager man = new Manager();
Employee emp1 = new Employee();
Employee emp2 = (Employee)man;
man.expenseAllowance();
emp1.expenseAllowance();
emp2.expenseAllowance();
}
}

11.字符串与字符数组。
package java练习题;
import java.util.*;
public class EX_16 {
public static void main(String[]args){
Scanner in=new Scanner(System.in);
System.out.println("请输入一个字符串");
String a=in.next();
char []b={'z','x','y','z','y'};
System.out.print("字符串为"+a);
System.out.println();
System.out.print("字符数组为");
System.out.print(b);
}
}

三、编程题
1. 试编写应用程序从键盘输入一个整数,求出小于等于该整数的所有素数,并将这些数在屏幕上8个一行显示出来。
package java练习题;
import java.util.*;
public class EX_17 {
public static void main(String []args){
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数:");
int m=in.nextInt();
int count=0;
int i,j;
for(i=2;i<=m;i++){
for(j=2;jif(i%j==0){
break;
}

}
if(j>Math.sqrt(i)){
System.out.print(i+"\t");
count++;
if(count%8==0){
System.out.println();
}
}
}
}

}

2. 利用java..util.Random类的nextInt()方法产生20个整数放在数组里,输出该数组元素,并求出该数组元素中的最大值及其下标值。
package java练习题;
import java.util.*;
public class EX_18 {
public static void main(String[]args){
int []a=new int[20];
Random m=new Random();
int max=0;
for(int i=0;i<20;i++){
a[i]=m.nextInt(50);
System.out.print(a[i]+"\t");
}
for(

int i=1;i<20;i++){
if(a[i]>a[max])
max=i;
}
System.out.println();
System.out.println("在这些数中最大的值为"+a[max]+"其下标是"+max);
}

}

3. 定义一个包括8个元素一维整型数组,通过从键盘输入的8个整数对数组进行初始化,对数组中的元素按大到小排序后在屏幕上显示,求出该数组中元素的最小值、最大值以及平均值并在屏幕上显示输出。
package java练习题;
import java.util.*;
public class EX_19 {
public static void main(String[]args){
int []a=new int [8];
for(int i=0;iScanner in=new Scanner(System.in);
System.out.println("请输入第"+(i+1)+"个数");
a[i]=in.nextInt();
}
for(int i=0;ifor(int j=0;jif(a[j]int temp;
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;

}
}
}
int sum=0;
System.out.println("数组排序为:");
for(int k=0;kSystem.out.print(a[k]+"\t");
sum=sum+a[k];
}
System.out.println();
System.out.println("这些数组中最大的值为"+a[0]);
System.out.println("这些数组中最 小的值为"+a[7]);
System.out.println("这些数组中平均的值为"+(double)sum/8);
}

}
4.编写一个学生类Student:
属性包括:学号(id)、姓名(name)、英语成绩(eng)、数学成绩(math)、计算机成绩(comp)和总成绩(sum)
方法包括:构造方法、各属性的set方法、各属性的get方法、toString方法(输出学生的全部信息)、sum方法(计算总成绩)和compare方法(比较两个学生的总成绩,大于返回1、等于返回0、小于返回-1)。
package java练习题;
class Student{
private String name;
private String id;
private float english;
private float computer;
private float math;
public Student(){

}
public Student(String n,String i,float e,float c,float m){
this.setName(n);
this.setId(i);
this.setEnglish(e);
this.setComputer(c);
this.setMath(m);
}
public float sum(){
return english+math+computer;
}
public int compare(){
Student s1=new Student("李嘉诚","20123030X7",98,90,87);
Student s2=new Student("马云","201203030403",89,78,99);
if(s1.sum()>s2.sum()){
return 1;
}
else if(s1.sum()==s1.sum()){
return 0;}
else{
return -1;
}
}
public String getInfo(){
return "学生信息: \n"+"\t|-姓名:"+this.getName()+"\n"+"\t|-学号:"+this.getId()+"\n"+"\t|-英语成绩:"+this.getEnglish()+"\n"+"\t|-计算机成绩:"+this.getComputer()+"\t|-数学成绩:"+this.getMath();
}
public String getName(){
return name;
}
public String getId(){
return id;
}
public float getEnglish(){
return english;
}
public float getComputer(){
return computer;
}
public float getMath(){
return math;
}
public void setName(String n){
name=n;
}
public void setId(String i){
id=i;
}
public voi

d setEnglish(float e){
english=e;
}
public void setComputer(float c){
computer=c;
}
public void setMath(float m){
math=m;
}
}
public class EX_20{
public static void main(String[]args){
Student s1=new Student("李嘉诚","20123030X7",98,90,87);
Student s2=new Student("马云","201203030403",89,78,99);
System.out.println(s1.getName()+"的总分为"+s1.sum());
System.out.println(s2.getName()+"的总分为"+s2.sum());
System.out.println(s1.getInfo());
System.out.println(s2.getInfo());
System.out.println(https://www.doczj.com/doc/278651924.html,pare());
}
}
5. 按以下要求定义一个类Circle描述一个圆,并完成相应的操作:
(1) 实例属性:圆心x坐标(xpoint)、圆心y坐标(ypoint)和半径(radius)。
(2) 构造方法:给3个属性赋初值。
(3) 实例方法(area):求圆的面积。
(4) 实例方法(circumference):求圆的周长。
(5) 重写toString()方法,返回圆心坐标和半径。
(6) 实例化这个类,调用方法完成信息的输出。
package java练习题;
import java.util.*;
public class EX_21 {
private static EX_21 ab;
double xpoint;
double ypoint;
double radius;
public EX_21(double x,double y,double r){
xpoint=x;
ypoint=y;
radius=r;
}
public double area(){
return 3.14*radius*radius;
}
public double zhouchang(){
return 3.14*2*radius;
}
public String toString(){
return ("这个圆的圆心坐标:("+xpoint+","+ypoint+")"+"radius="+radius);
}
public static void main(String []args){
Scanner in=new Scanner(System.in);
System.out.println("请输入横坐标的值:");
double x=in.nextInt();
System.out.println("请输入纵坐标的值:");
double y=in.nextInt();
System.out.println("请输入圆半径的值:");
double r=in.nextInt();
EX_21.ab=new EX_21(x,y,r);
System.out.println("该圆的面积为:"+ab.area());
System.out.println("该圆的周长为:"+ab.zhouchang());
System.out.println("该圆的坐标与半径:"+ab.toString());
}
}

6. 利用java.util.Random类的nextInt(i)方法产生10个100以内的整数放在数组里,输出该数组元素;输出该数组中最大值及最大值所在的数组下标。
(上面已有,只是换了参数)
7.编程求出2~n之间的所有素数。n由键盘输入。(同上)
8. 编写程序创建两个线程,一个线程打印输出1~1000之间所有3的倍数,另外一个线程打印输出1~1000之间所有2的倍数,要求这两个线程每打印输出一个数后随机休眠一段时间,并在主程序中启动这两个线程。(同上)
9.定义一个接口,及两个相应的实现类
package java练习题;
interface Shape2D{
final double pi=3.14;
public abstract double area();
}
interface Color{
void setColor(String str);
}
class Circle implements Shape2D,Color{
double radius;
String color;
public Circle(double r){
radius=r;
}
public double area(){
return (pi*radius*radiu

s);
}
public void setColor(String str){
color=str;
System.out.println("color="+color);
}
}
class Rectangle implements Shape2D,Color{
double width,height;
String color;
public Rectangle(double w,double h){
width=w;
height=h;
}
public double area(){
return (width*height);
}
public void setColor(String str){
color=str;
System.out.println("color="+color);
}
}
public class EX_25{
public static void main(String []args){
Circle cir;
Rectangle rec;
cir=new Circle(8.0);
cir.setColor("red");
rec=new Rectangle(4.5,9);
rec.setColor("yellow");
System.out.println("圆形面积="+cir.area());
System.out.println("长方形面积="+rec.area());
}
}
10. 按以下要求编程
(1)编写Animal类,定义leg属性、有参构造函数对leg赋初值,定义空的sound()方法;
(2)编写Flyable接口,定义speed( )方法;
(3)编写bird类继承Animal类并实现Flyable接口,定义speed属性,有参构造方法对leg和speed赋初值,speed( )方法返回speed属性,sound( )方法输出“嘎……”。
(4)编写测试程序,定义包含2个元素的Glede对象数组,分别调用speed( )方法和sound( )方法。
package java练习题;

import java练习题.Animal.bird;

class Animal {
int leg;
public Animal(int leg){
this.leg=leg;
}
public void sound(){

}
public interface Flyable{
public abstract double speed();
}
class bird extends Animal implements Flyable{
double speed;
public bird(int leg,double speed){
super(leg);
this.speed=speed;
}
public void sound(){
System.out.println("嘎嘎……");
}
public double speed(){
return this.speed;
}
}
}

public class EX_26{
public static void main(String []args){
bird a=new bird(2,403);
bird b=new bird(2,576);
a.sound();
b.sound();
System.out.println("第一只小鸟速度为"+a.speed());
System.out.println("第二只小鸟速度为"+b.speed());
}
}


11. 编写程序,将从命令行获得字符串转换为整型值,处理当args[0]=“12t3”时的情况(要求捕获异常NumberFormatException并处理)
(在书上)


相关主题
相关文档 最新文档