搜索
您的当前位置:首页正文

Java编程练习题

来源:赴品旅游


Java编程练习题

一般题:

1、 编写一个应用程序,对程序中给定的四个double型数据求其最大值和最小值。

public class Java1_1 { }

public static void main(String[] args){

double a[] ={8.2,3.8,15.1,9.0}; double max = 0,min=0;

System.out.print(\"四个数分别为:\"); for(int i=0;iSystem.out.println();

System.out.println(\"四个数中最大值为:\"+max);

System.out.print(a[i]+\" \"); } if(a[i]>a[i+1]){ }

else if(a[i]min=a[i]; max=a[i];

for(int i=0;iSystem.out.println(\"四个数中最小值为:\"+min); }

2、 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6的因子为1、2、3,

而6=1+2+3。因此6是“完数”。编写一个小应用程序求1000之内的所有完数

public class Java1_2 {

public static void main(String[] args) {

System.out.print(\"1000内的完数为:\");

for(int i=1;i<=1000;i++){ }

int a=0;

for(int j=1;j<=i/2;j++){ }

if(a==i)

System.out.print(i+\" \"); if(i%j==0)

a+=j;

}

}

3、 要求1000!(1000*999*998...*2*1)的值。

import java.math.BigDecimal; public class Java1_3 { }

public static void main(String[] args) {

BigDecimal fac = new BigDecimal(1);; for(int i=1000;i>=1;i--){ }

BigDecimal b = new BigDecimal(i); fac=fac.multiply(b);

System.out.println(\"1000!为:\"+fac); }

4、 设计一个能随机产生100个大写英文字母的方法,在该方法中统计产生了多少个元音字

母,并输出这个数字。

public class Java1_4 { }

public static void main(String[] args) {

char ch[] = new char[100]; int count=0;

System.out.println(\"随机产生的100个大写字母分别为:\"); for(int i=0;i<100;i++){ }

for(int i=0;i<100;i++){ }

if(ch[i]=='A' || ch[i]=='E' }

|| ch[i]=='I' || ch[i]=='O' || ch[i]=='U'){ count++;

int a = (int)(Math.random()*26); ch[i] = (char)(a+65);

System.out.print(ch[i]+\" \"); if((i+1)%5==0)

System.out.println();

System.out.println(\"其中元音字母有\"+count+\"个!\"); }

5、 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第3个月后每个月

又生一对兔子,假如兔子不死,问每个月的兔子总数为多少?

import java.util.Scanner;

public class Java1_5 { }

public static void main(String[] args) { }

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入月数:\"); int m = scanner.nextInt();

System.out.println(\"第1个月的兔子对数: 1\"); System.out.println(\"第2个月的兔子对数: 1\"); int f1 = 1, f2 = 1, f; for(int i=3; i<=m; i++) {

f = f2; f2 = f1 + f2; f1 = f;

System.out.println(\"第\" + i +\"个月的兔子对数: \"+f2); }

6、 打印出所有的\"水仙花数\",所谓\"水仙花数\"是指一个三位数,其各位数字立方和等于该

数本身。例如:

153是一个\"水仙花数\",因为153=1的三次方+5的三次方+3的三次方。

public class Java1_6 { }

public static void main(String[] args) { }

int bit = 0,ten = 0,hun = 0; System.out.print(\"水仙花数有:\"); for(int n=100;n<1000;n++){ }

if(n<1000){ }

if(bit*bit*bit+ten*ten*ten+hun*hun*hun==n)

System.out.print(n+\" \"); bit=n%10; ten=n%100/10; hun=n/100;

7、 输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。

import java.io.*;; public class Java1_7 {

public static void main(String[] args) throws IOException {

BufferedReader buf; String str;

int a = 0,b = 0,c = 0,d=0;

buf = new BufferedReader(new InputStreamReader(System.in));

}

System.out.print(\"请输入一串字符:\"); str = buf.readLine();

char ch[]=str.toCharArray(); for(int i=0;iSystem.out.println(\"英文字母有:\"+a+\"个\"); System.out.println(\"数字有:\"+b+\"个\"); System.out.println(\"空格有:\"+c+\"个\");

if((ch[i]>='a' && ch[i]<='z') || (ch[i]>='A' && ch[i]<='Z'))

a++; b++;

else if(ch[i]>='0' && ch[i]<='9') else if(ch[i]==' ')

c++; d++; else

System.out.println(\"其它字符有:\"+d+\"个\"); }

8、 一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在 第10

次落地时,共经过多少米?第10次反弹多高?

public class Java1_8 {

public static void main(String[] args) {

double height = 100,sum = 100; for(int i=1;i<10;i++){ }

sum+=height; height=height/2;

System.out.println(\"球共经过\"+sum+\"米!\"+\"\\n\"+\"第10次反弹高度为:\"+height/2); }

}

9、 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高

于10万元,低于20万 元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

import java.util.Scanner; public class Java1_9 {

public static void main(String[] args) {

double reward;

}

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入月利润数(万):\"); double n= scanner.nextDouble(); if(n>0 && n<=10)

reward = n*0.1;

reward = 10*0.1+(n-10)*0.075;

reward = 10*0.1+10*0.075+(n-20)*0.05;

reward = 10*0.1+10*0.075+20*0.05+(n-40)*0.03;

reward = 10*0.1+10*0.075+20*0.05+20*0.03+(n-60)*0.015; reward =

else if(n>10 && n<=20) else if(n>20 && n<=40) else if(n>40 && n<=60) else if(n>60 && n<=100) else

10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(n-100)*0.01;

System.out.println(\"应发放奖金总数为:\"+reward); }

10、 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一

个 第二天早上又将剩 下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一半零一个。到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘了多少。

public class Java1_10 { }

public static void main(String[] args) {

int n=1;

for(int i=9;i>0;i--){ }

n=(n+1)*2;

System.out.println(\"第一天共摘了\"+n+\"个桃子\"); }

11、

}

利用递归方法求5!。

public class Java1_11 {

public static void main(String[] args) {

int fac=1;

for(int i=1;i<=5;i++)

fac=fac*i;

System.out.println(\"5!为:\"+fac); }

12、 求一个3*3矩阵对角线元素之和.

import java.util.Scanner; public class Java1_12 { }

public static void main(String[] args){

Scanner scanner = new Scanner(System.in); int[][] number = new int[3][3]; System.out.println(\"请输入9个整数:\"); for(int i=0; i<3; i++) { for(int j=0; j<3; j++) {

number[i][j] = scanner.nextInt(); } }

System.out.println(\"输入的3 * 3 矩阵是:\"); for(int i=0; i<3; i++) { for(int j=0; j<3; j++) {

System.out.print(number[i][j] + \" \"); }

System.out.println(); }

int sum=0;

for(int i=0;i<3;i++){ }

for(int j=0;j<3;j++){ }

if(i==j){ }

sum+=number[i][j];

System.out.println(\"矩阵的对角线元素之和为:\"+sum); }

13、

输入数组,最大的与第一个元素交换,最小的与最后一个元素交换,输出数组。

import java.util.Scanner; public class Java1_13 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入6个数据:\"); float number[]=new float[6]; for(int i=0;i<6;i++){ }

float max=number[0],min=number[0],temp; int a = 0,b=0;

number[i]=scanner.nextFloat();

}

}

for(int i=0;iif(a!=0){ }

if(b!=number.length-1){ }

System.out.print(\"调换顺序后:\"); for(int i=0;iSystem.out.print(number[i]+\" \"); temp=number[number.length-1]; number[number.length-1]=number[b]; number[b]=temp; temp=number[0]; number[0]=number[a]; number[a]=temp; if(number[i]>max){ }

if(number[i]min=number[i]; b= i;

max=number[i]; a= i;

14、 定义复数的类Complex并测试其功能:

1. 复数由实部、虚部两个部分组成,在类的定义中应包含保存这两部分信息的内容。

2. 在类中定义构造函数,使用户能够在构造对象的同时为对象赋初值。

3. 在类中定义复数的加法、减法、乘法三个二元操作符来完成复数间的加、减、

乘的功能。

4. 通过重载tosthing,使得Complex类的对象能够显示其自身信息。

5. 通过显示定义一个成员函数完成对象的赋值操作,使用户能够对Complex类的

对象进行赋值。

6. 编写一段主程序(main函数),使用户能够通过这段主程序输入复数并进行复数

的计算。

15、 建立一个银行账户类,要求能够存放用户的账号、姓名、密码和账户余额等个人信

息,并包含存款、取款、查询余额和修改账户密码等操作,并用此类创建对象,对象的账号为100,姓名为Tom,密码为11111,账户余额为10000。

import java.util.Scanner; public class Java1_15 {

public static void main(String[] args){

Login();

} }

class Customer {

private String Id, Pwd, Name; private int Mony;

static String id,name,pwd; static int mony; public Customer(){}

public Customer(String id, String pwd){ }

public void setId(String id){ }

public String getId(){ }

public void setName(String name){ }

public String getName(){ }

public void setPwd(String pwd){

return this.Name; this.Name=name; return this.Id; this.Id=id; this.Id=id; this.Pwd=pwd;

public static void Login(){ }

System.out.println(\"请登录: \");

System.out.print( \" 请输入账号:\");

Scanner scanner = new Scanner(System.in); String Id = scanner.nextLine(); System.out.print( \"请输入密码:\"); String Pwd = scanner.nextLine(); System.out.println();

boolean flag = Customer.login(Id, Pwd); if(flag==true){ } else{ }

System.out.println(\"您输入的用户名或密码有错误,请重新输入!\"); Login(); Menu.menu();

}

}

this.Pwd=pwd;

public String getPwd(){ }

public static boolean login(String ID, String PWD){ }

boolean flag = false;

Customer cm0 = new Customer(\"123\",\"123\"); cm0.Name=\"abc\"; cm0.Mony=2000;

Customer cm1 = new Customer(\"456\",\"456\"); cm1.Name=\"def\"; cm1.Mony=3000;

Customer cm2 = new Customer(\"789\",\"789\"); cm2.Name=\"fgh\"; cm2.Mony=4000;

String customer_Id[]={cm0.Id,cm1.Id,cm2.Id}; String customer_Pwd[]={cm0.Pwd,cm1.Pwd,cm2.Pwd}; String customer_Name[]={cm0.Name,cm1.Name,cm2.Name}; int customer_Mony[]={cm0.Mony,cm1.Mony,cm2.Mony};

for(int i=0;iif(flag==true){ } else

return false; return true;

if(ID.equals(customer_Id[i]) && }

id=customer_Id[i]; pwd=customer_Pwd[i]; name=customer_Name[i]; mony=customer_Mony[i]; flag=true;

return this.Pwd;

PWD.equals(customer_Pwd[i])){

class Menu{

public static void menu(){ System.out.println(\"主菜单\"); System.out.println(\"1、取款服务\"); System.out.println(\"2、修改密码\"); System.out.println(\"3、存款服务\"); System.out.println(\"4、转账服务 \"); System.out.println(\"5、查询余额 \"); System.out.println(\"6、退出\");

Scanner scanner = new Scanner(System.in); int a = scanner.nextInt(); switch(a){ case 1: DrawMony(); break; case 2:

ChangePwd(); break; case 3:

SaveMony(); break;

case 4:

TransferMony(); break; case 5:

CheckMony(); break; case 6:

break;

}

}

public static void DrawMony(){ System.out.println(\" 请确定取款金额 \"); System.out.println(\"1-->100 1000<--4\"); System.out.println(\"2-->300 5000<--5\");

System.out.println(\"3-->500 金额<--6\"); System.out.println(\"\");

Scanner scanner = new Scanner(System.in); int m=scanner.nextInt(); switch(m){

case 1:

其它

if(Customer.mony-100<0){ } else{ } break;

if(Customer.mony-300<0){ } else{

Customer.mony=Customer.mony-300; System.out.println(\"取款成功!\");

System.out.println(\"账户余额为:\"+Customer.mony); System.out.println();

System.out.println(\"是否继续取款?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt(); if(c==0){ } else{

System.out.println(); System.out.println(); DrawMony();

System.out.println(\"余额不足,请重新选择!\"); System.out.println(); DrawMony();

Customer.mony=Customer.mony-100; System.out.println(\"取款成功!\");

System.out.println(\"账户余额为:\"+Customer.mony); System.out.println();

System.out.println(\"是否继续取款?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt(); if(c==0){ } else{ }

System.out.println();

System.out.println(); menu();

System.out.println(); DrawMony();

System.out.println(\"余额不足,请重新选择!\"); System.out.println(); DrawMony();

case 2:

}

}

menu();

System.out.println();

break;

if(Customer.mony-500<0){ } else{ } break;

if(Customer.mony-1000<0){ } else{

Customer.mony=Customer.mony-1000; System.out.println(\"取款成功!\");

System.out.println(\"账户余额为:\"+Customer.mony); System.out.println();

System.out.println(\"是否继续取款?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt();

System.out.println(\"余额不足,请重新选择!\"); System.out.println(); DrawMony();

Customer.mony=Customer.mony-500; System.out.println(\"取款成功!\");

System.out.println(\"账户余额为:\"+Customer.mony); System.out.println();

System.out.println(\"是否继续取款?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt(); if(c==0){ } else{ }

System.out.println();

System.out.println(); menu();

System.out.println(); DrawMony();

System.out.println(\"余额不足,请重新选择!\"); System.out.println(); DrawMony();

case 3:

case 4:

}

if(c==0){ } else{ }

System.out.println();

System.out.println(); menu();

System.out.println(); DrawMony();

break;

if(Customer.mony-5000<0){ } else{ } break;

System.out.print(\"请输入取款金额:\"); int mony = scanner.nextInt(); if(Customer.mony-mony<0){ }

System.out.println(\"余额不足,请重新输入!\"); System.out.println(\"\"); DrawMony();

Customer.mony=Customer.mony-5000; System.out.println(\"取款成功!\");

System.out.println(\"账户余额为:\"+Customer.mony); System.out.println();

System.out.println(\"是否继续取款?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt(); if(c==0){ } else{ }

System.out.println();

System.out.println(); menu();

System.out.println(); DrawMony();

System.out.println(\"余额不足,请重新选择!\"); System.out.println(); DrawMony();

case 5:

case 6:

}

else{ } break;

Customer.mony=Customer.mony-mony; System.out.println(\"取款成功!\");

System.out.println(\"账户余额为:\"+Customer.mony); System.out.println();

System.out.println(\"是否继续取款?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt(); if(c==0){ } else{ }

System.out.println();

System.out.println(); menu();

System.out.println(); DrawMony();

}

public static void ChangePwd(){

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入新密码:\"); String pwd =scanner.nextLine(); System.out.print(\"请再次输入:\"); String pwd1 =scanner.nextLine();

if(pwd.equals(pwd1)){ } else{

System.out.println(\"两次输入密码不一致!\"); System.out.println(); ChangePwd(); Customer.pwd=pwd;

System.out.println(\"密码修改成功!\");

System.out.println(\"10秒后自动返回主界面!\"); System.out.println(); try{ }

catch(InterruptedException e){}

Thread.sleep(10000); menu();

}

}

public static void SaveMony(){ }

public static void TransferMony(){

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入账号:\"); int a= scanner.nextInt(); System.out.print(\"请在此输入:\"); int b=scanner.nextInt();

System.out.print(\"请输入转账金额:\"); int mony=scanner.nextInt(); if(a==b){

if(Customer.mony-mony>0){

Customer.mony=Customer.mony-mony; System.out.println(\"转账成功!\");

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入存款金额:\"); int mony=scanner.nextInt(); if (mony>0 && mony%100==0){ } else{ }

System.out.println(\"存款金额必须为100的整数倍!\"); System.out.println(); SaveMony();

Customer.mony=Customer.mony+mony; System.out.println(\"存款成功!\");

System.out.println(\"账户余额:\"+Customer.mony); System.out.println(\"\");

System.out.println(\"是否继续存款?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt(); if(c==0){ } else{ }

System.out.println();

System.out.println(); menu();

System.out.println(); SaveMony();

}

}

}

}

System.out.println(\"账户余额:\"+Customer.mony); System.out.println();

System.out.println(\"是否继续转账?\");

System.out.println(\"0、是 1、否\"); int c = scanner.nextInt(); if(c==0){ } else{ }

System.out.println(); menu();

System.out.println(); TransferMony();

else{ }

System.out.println(\"余额不足,请重新输入!\"); System.out.println(); TransferMony();

else{ }

System.out.println(\"两次输入账号不一致,请重新输入!\"); System.out.println(); TransferMony();

public static void CheckMony(){ }

Scanner scanner = new Scanner(System.in); System.out.println(\"用户名:\"+Customer.name); System.out.println(\"用户ID:\"+Customer.id); System.out.println(\"账户余额:\"+Customer.mony); System.out.println(\"返回主菜单\"); int a=scanner.nextInt(); if(a==0){ } else{ }

System.out.println(); menu();

System.out.println(); menu();

16、 有哺乳动物类mammal,将其作为父类,从其派生出子类猫cat和子类狗dog,基

类中有方法speak()。

class mammal{ }

class dog extends mammal{ }

class cat extends mammal{ }

public class Java1_16 {

public static void main(String[] args) {

mammal dog = new dog(); mammal cat = new cat();

dog.print();

dog.speak(\"汪\");

System.out.println(); cat.print(); cat.speak(\"喵\"); public cat(){

super(\"小猫\",3,\"猫\"); }

public dog(){

super(\"小狗\",2,\"狗\"); }

String name,kind; int age;

public mammal(String n, int a, String k){ }

public void speak(String s){

System.out.println(\"叫声为:\"+s); }

public void print(){

System.out.println(\"名字为:\"+this.name); System.out.println(\"年龄为:\"+this.age); this.name=n; this.age=a; this.kind=k;

System.out.println(\"种类为:\"+this.kind); }

}

}

17、

}

求100之内的素数

public class Java1_17 {

public static void main(String[] args) { }

boolean flag = false;

System.out.print(\"100以内的素数有:2 3 \"); for(int i=3;i<=100;i+=2){ }

for(int j=2;j<=Math.sqrt(i);j++){ }

if(i%j==0){ }

System.out.print(i+\" \");

flag=false; break;} flag=true;

else

if(flag==true){

18、

对10个数进行排序

import java.util.Scanner; public class Java1_18 {

public static void main(String[] args) {

int number[] = new int[10];

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入10个数:\"); for(int i=0;ifor(int i=0;ifor(int i=0;iSystem.out.print(number[i]+\" \"); for(int j=0;jif(number[i]>number[j]){ }

int temp = number[j]; number[j]=number[i]; number[i]=temp;

number[i]=scanner.nextInt();

}

}

}

19、 从键盘上输入10个整数,并将其放入一个一维数组中,然后将其前5个元素与后

5个元素对换,即:第1个元素与第10个元素互换,第2个元素与第9个元素互换…第5个元素与第6个元素互换。分别输出数组原来各元素的值和对换后各元素的值。

import java.util.Scanner; public class Java1_19 { }

public static void main(String[] args) { }

int number[]=new int[10]; int b=0;

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入10个整数:\"); for(int i=0;ifor(int i=0;iSystem.out.print(\"对换后顺序为:\"); for(int i=0;iSystem.out.print(number[i]+\" \"); int temp=number[i]; number[i]=number[i+9-b]; number[i+9-b]=temp; b+=2;

number[i]=scanner.nextInt();

20、 设计一个圆类,将圆的位置(圆心坐标和半径)作为属性(提供任意圆的设置),并

能计算圆的面积。

class Point{

float x,y;

public Point(float a, float b){ }

public void setX(float a){ }

public void setY(float b){ }

this.y=b; this.x=a; this.x=a; this.y=b;

}

public float getX(){ }

public float getY(){ }

return this.y; return this.x;

class Circle{

Point point = new Point(0,0); float radius;

public Circle(Point p,float r){ }

public void setRadius(float r){ }

public float getRadius(){ }

public void Area(float radius){

double area=Math.PI*radius*radius; System.out.println(\"圆面积为:\"+area); }

public void Perimer(float radius){

double perimer=2*Math.PI*radius;

System.out.println(\"圆周长为:\"+perimer); }

public void print(){

System.out.println(\"圆点为:return this.radius; this.radius=r; this.point=p; this.radius=r;

\"+\"(\"+this.point.x+\+this.point.y+\")\"+\" 半径为:\"+this.radius); } }

public class Java1_20 { }

public static void main(String[] args) { }

Point point = new Point(3,4);

Circle circle = new Circle(point, 3); circle.print();

circle.Area(circle.radius); circle.Perimer(circle.radius);

21、 设计一个Course类,它代表学校中的一门课程。按照实际情况将这门课程的相关

信息组织成它的属性,并定义必要的相应的方法。

class Course {

String cName; int cHour; double cCredit; String cRechel;

public Course(String name,int hour,double credit,String rechel){ //

构造方法Course() this.cName=name; }

public class Java1_21 {

public static void main(String[] args) {

String classes1=\"医智09(1)班\"+\"、\"+\"医智09(2)班\"; Course course=new Course(\"高等数学\",72,7.5,\"郭\"); course.cprint();

course.classes(classes1); course.sNumber(130); }

public void classes(String classes){ //上课班级 System.out.println(\"上课班级为:\"+classes); }

public void sNumber(int number){ //上课人数 System.out.println(\"上课人数为:\"+number); }

public void brvbar(boolean brvbar){ //是否必修 if(brvbar=true)

System.out.println(\"该课程为必修!\"); else

System.out.println(\"该课程为选修!\"); this.cHour=hour; this.cCredit=credit; this.cRechel=rechel;

} }

public void cprint(){ //课程信息打印

System.out.println(\"课程信息:\");

System.out.println(\"课程名称:\"+this.cName); System.out.println(\"所需课时:\"+this.cHour); System.out.println(\"所含学分:\"+this.cCredit); System.out.println(\"授课老师:\"+this.cRechel); System.out.println();

}

}

course.brvbar(true);

22、 设计并实现一个Vehicle类及其子类,它们代表主要的交通工具,定义必要的属性

信息和方法

23、 设计并实现一个MyGraphic类及其子类,它们代表一些基本的图形,这些图形包

括:矩形、三角形、圆、椭圆等。试给出能描述这些图形所必需的属性及必要的方法。

24、 先在一个包中编写第一类ClassA,要求写该类中具有四种不同访问权限的成员,

再在另一个包中写第二个类ClassB,并在该类中编写一个方法访问第一个类的成员。

25、 设计一个汽车类Multiplication,在其中定义三个同名的mul方法:第一个方法是计

算两个整数的积;第二个方法是计算两个浮点数的积;第三个方法是计算三个浮点数的积。

class Multiplication{ }

public class Java1_25 { }

public static void main(String[] args) { }

Multiplication test = new Multiplication(); test.mul(3, 4); test.mul(2.3, 3); test.mul(3, 4, 5);

public void mul(int a, int b){ }

public void mul(double a, double b){ }

public void mul(double a, double b, double c){ }

double m = a*b*c;

System.out.println(a+\"*\"+b+\"*\"+c+\"=\"+m); float m = (float)(a*b);

System.out.println(a+\"*\"+b+\"=\"+m); int m = a*b;

System.out.println(a+\"*\"+b+\"=\"+m);

26、 使用继承和接口技术,编写一个程序,求解几何图形(如直线、三角形、矩形、圆

和多边形)的周长和面积。

进阶题:

27、 随便输入一段字符串,把出现次数最多的打印出来,如:aabbbbbbbbbcccdffff,就把b

打印出来,用java代码实现

import java.util.Scanner; public class Java2_1 { }

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入一段字符串:\"); String str = scanner.nextLine(); char ch[] =str.toCharArray(); int number[] = new int[ch.length]; for(int i=0;iint max=number[0],k=0;

for(int i=0;iif(number[i]>max){ }

max=number[i]; k=i; int count=0;

for(int j=0;jnumber[i]=count;

if(ch[i]==ch[j])

count++;

System.out.println(\"出现次数最多的字符为:\"+ch[k]); }

28、

有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?

public class Java2_2 {

public static void main(String[] args) {

int count=0;

for(int i=1;i<5;i++){

for(int j=1;j<5;j++){

for(int k=1;k<5;k++){

if(i!=j && i!=k && j!=k){

count++;

}

}

}

}

}

}

System.out.println(count);

29、

输入某年某月某日,判断这一天是这一年的第几天?

import java.util.Scanner; public class Java2_3 {

public static void main(String[] args) {

int year, month, day, days = 0; int d = 0, e;

Scanner scanner = new Scanner(System.in); do{

e=0;

System.out.print(\"请输入年:\"); year = scanner.nextInt(); System.out.print(\"请输入月:\"); month = scanner.nextInt(); System.out.print(\"请输入天:\"); day = scanner.nextInt();

if(year<=0 || month<=0 || month>12 || day<=0 || day>31){ }

System.out.println(\"输入错误,请重新输入!\"); e=1;

}while(e==1);

for(int i=1;iswitch(i){

case 1: case 3: case 5: case 7: case 8: case 10: case 12:

days=31; break;

case 4: case 6: case 9: case 11:

days=30;

}

}

break;

if((year%400==0) || (year%4==0 && year%100!=0)){ } else{ } break;

days=28; days=29;

case 2:

d+=days;

System.out.println(year + \"-\" + month + \"-\" + day + \"是这年的第\"

+ (d+day) + \"天。\"); } }

30、 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签

决定比赛名单。有人向 队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。

public class Java2_4 {

public static void main(String[] args) {

char jia[] = {'a','b','c'}; char yi[] = {'x','y','z'}; for(int i=0;ifor(int j=0;jif(jia[i]=='a' && yi[j]=='x'){ }

else if(jia[i]=='a' && yi[j]=='y'){ }

else if((jia[i]=='c' && yi[j]=='x') || (jia[i]=='c' && }

else if((jia[i]=='b' && yi[j]=='y') || (jia[i]=='b' && } else

System.out.println(jia[i]+\" VS \"+yi[j]); continue; continue; continue; continue;

yi[j]=='z')){

yi[j]=='z')){

}

}

31、 有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3

的人退出圈子,问最后留下的是原来第几号的那位。

import java.util.Scanner; public class Java2_5 { }

public static void main(String[] args) { }

Scanner scanner = new Scanner(System.in); System.out.print(\"请输入人数:\"); int n = scanner.nextInt(); boolean flag[] = new boolean[n]; for(int i=0;iint left = n, count = 0, index = 0; while(left>1){ }

for(int i=0;iif(flag[i]==true){

System.out.println(\"第\"+(i+1)+\"位的人留下来了!\"); }

if(flag[index]==true){ }

index++; if(index==n){ }

index = 0; count++; if(count==3){ }

count = 0;

flag[index] = false; left--;

flag[i] = true;

32、 哥德巴赫猜想是说任何一个大于2的偶数都能表示为两个素数之和。请编写一个

Java程序,验证1~100内哥德巴赫猜想的正确性,也就是近似证明哥德巴赫猜想。

public class Java2_6 {

public static void main(String[] args) {

boolean flag = false; int number[] = new int[25];

}

}

number[0]=2;number[1]=3; int a=2;

System.out.print(\"100以内的素数有:\"); for(int i=3;i<=100;i+=2){ }

for(int i=0;iSystem.out.println(); for(int i=2;i<=100;i+=2){ }

for(int j=0;jfor(int k=j+1;k}

if(i==number[j]+number[k]){

System.out.print(number[i]+\" \"); for(int j=2;j<=Math.sqrt(i);j++){ }

if(i%j==0){ } else }

number[a]=i;a++;

flag=true; flag=false; break;

if(flag==true){

System.out.println(i+\"=\"+number[j]+\"+\"+number[k]);

33、 一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与

千位相同

import java.util.Scanner; public class Java2_7 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in); int number; do{

System.out.print(\"请输入一个五位数:\");

}

number = scanner.nextInt();

}while(number<10000 || number>99999);

char ch[]=String.valueOf(number).toCharArray(); if(ch[0]==ch[4] && ch[1]==ch[3]){

System.out.println(number+\"是回文数!\"); } else

System.out.println(number+\"不是回文数!\");

}

34、 爱因斯坦曾出过这样一道有趣的数学题:有一个长阶梯,每步上2阶,最后剩1

阶;若每步上3阶,最后剩2阶;若每步上5阶,最后剩4阶;若每步上6阶,最后剩5阶;只有每步上7阶,最后一阶也不剩。请问该阶梯至少有多少阶。编写一个Java程序解决该问题。

public class Java2_8 { }

public static void main(String[] args) { }

int n=7;

while(!(n%2==1 && n%3==2 && n%5==4 && n%6==5)){ }

System.out.println(n);

n+=7;

因篇幅问题不能全部显示,请点此查看更多更全内容

Top