手机版

JAVA编程习题及答案_完全版

发布时间:2024-11-10   来源:未知    
字号:

1.test10001显示短句

//程序填空.

//在屏幕上显示一个短句“Programming in Java is fun!”

import java.io.*;

public class Test10001{

public static void main(String args[]){

/*------------------------*/

System.out.println("Programming in Java is fun!");

}

}

2.test10002显示网格

/*程序填空。

在屏幕上显示如下网格。

+---+---+

| | |

| | |

+---+---+

*/

import java.io.*;

public class Test10002{

public static void main(String args[]){

/*------------------------*/

System.out.println("+---+---+");

System.out.println("| | |");

System.out.println("| | |");

System.out.println("+---+---+");

}

}

3.test10095显示hello world!

import java.io.*;

public class Test10095{

public static void main(String args[]){

/*---------------------------*/

}

}

4.test10097求两个数的和

/*输入n表示做n次下面的操作:

输入两个正整数,输出它们的和.

例:

输入:

2 //表示n=2,做两次操作

10 11

20 30

输出:

sum=21

sum=50

*/

import java.util.Scanner;

public class Test10097{

public static void main(String args[]){

int n,a,b,i,sum;

Scanner in=new Scanner(System.in);

n=in.nextInt(); //输入n

for(i=1; i<=n; i++){

/*------------*/

a=in.nextInt();

b=in.nextInt();

sum=a+b;

System.out.println("sum="+sum);

}

}

}

5.test20001求两个数的和与差

/*程序填空,不要改变与输入输出有关的语句。

输入整数a和b,计算并输出a、b的和与差。

例:

输入

输出

The sum is -6

The difference is 10*/

import java.io.*;

import java.util.Scanner;

public class Test20001{

public 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("The sum is "+sum);

System.out.println("The difference is "+diff);

}

}

6.test20002求平方根

//程序填空,不要改变与输入输出有关的语句。

输入1个实数x,计算并输出其平方根。

例:

输入

1.21

输出

The square root of 1.21 is 1.1

import 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();

/*------------------*/

root=Math.sqrt(x);

System.out.println("The square root of "+x+" is "+root);

}

}

7.test20003华氏温度转换成摄氏温度

/*程序填空,不要改变与输入输出有关的语句。

输入华氏温度f,计算并输出相应的摄氏温度c。c = 5/9(f-32).

例:括号内是说明

输入

17.2 (华氏温度)

输出

The temprature is -8.222222222222223*/

import java.util.Scanner;

public class Test20003 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

double f, c;

f=in.nextDouble();

/*------------------*/

c=5*(f-50)/9+10;

System.out.println("The temprature is "+c);

}

}

8.test20004计算旅途时间

程序填空,不要改变与输入输出有关的语句。

输入2个整数time1和time2,表示火车的出发时间和到达时间,计算并输出旅途时间。 有效的时间范围是0000到2359,不需要考虑出发时间晚于到达时间的情况。

例:括号内是说明

输入

712 1411(出发时间是7:10,到达时间是14:11)

输出

The train journey time is 6 hrs 59 mins.

import java.util.Scanner;

public class Test20004 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

int time1, time2, hours, mins;

time1=in.nextInt();

time2=in.nextInt();

/*------------------*/

time1=(time1/100)*60+time1%100;

time2=(time2/100)*60+time2%100;

hours=(time2-time1)/60;

mins=(time2-time1)-hours*60;

System.out.println("The train journey time is "+hours+" hrs "+ mins+" mins."); }

}

9.test20005数字加密

程序填空,不要改变与输入输出有关的语句。

输入1个四位数,将其加密后输出。

方法是将该数每一位上的数字加9,

然后除以10取余,做为该位上的新数字,

最后将第1位和第3位上的数字互换,第2位和第4位上的数字互换,组成加密后的新数。 例:括号内是说明

输入

1257

输出

The encrypted number is 4601(每一位上的数字加9除以10取余后,得0146,交换后得到4601)

import java.util.Scanner;

public class Test20005 {

public static void main(String[] args) {

Scanner in=new Scanner(System.in);

int number, digit1, digit2, digit3, digit4, newnum;

int temp; //我自己定义了一个变量

number=in.nextInt();

/*------------------*/

digit1=number/1000;

digit2=(number%1000)/100;

digit3=((number%1000)%100)/10;

digit4=number%10;

//以下是测试语句,看看我们的想法是不是正确.但是作业在提交时一定要把它注释掉

//System.out.print(" "+digit1+" "+digit2+" "+digit3+" "+digit4);

//-----------------------------------

digit1=(digit1+9)%10;

digit2=(digit2+9)%10;

digit3=(digit3+9)%10;

digit4=(digit4+9)%10;

//---------------------------

temp=digit1;

digit1=digit3;

digit3=temp;

//----------------------------

temp=digit2;

digit2=digit4;

digit4=temp;

//----------------------------------

newnum=digit1*1000+digit2*100+digit3*10+digit4;

System.out.println("The encrypted number is "+newnum);

}

}

10.test20006大小写字母转换

程序填空,不要改变与输入输出有关的语句。

输入一个大写英文字母,输出相应的小写字母。

例:

输入

G

输出

g

import java.io.*;

public class T20006 {

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

{

char ch;

ch=(char)System.in.read();

/*------------------*/

ch=(char)(ch+32); // 以ASCII码计算

System.out.println(ch);

}

}

11.Test20007计算三门课程的平均成绩

程序填空,不要改变与输入输出有关的语句。

已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课程的平均分。

本题无输入。

输出示例:

math = 87, eng = 72, comp = 93

average = 84

public 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);

}

}

12.test20008计算存款利息

程序填空,不要改变与输入输出有关的语句。

输入存款金额 money、存期 year 和年利率 rate,

根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。

interest = money(1+rate)^year - money

输入输出示例:括号内为说明

输入

1000 3 0.025 (money = 1000, year = 3, rate = 0.025)

输出

interest = 76.89

import java.util.Scanner;

public class test20008 {

public static void main(String[] args) {

int money, year;

double interest, rate;

Scanner in=new Scanner(System.in);

/*使用in.nextDouble()和in.nextInt()输入double和int型数据*/

/**********/

money=in.nextInt();

year=in.nextInt();

rate=in.nextDouble();

interest=money*Math.pow((1+rate),year)-money;

System.out.println("interest = "+ (int)(interest*100+0.5)/100.0);

}

}

13.test30001显示两级成绩

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。

输出使用System.out.println("Pass");及System.out.println("Fail");

例:括号内是说明

输入

2 (repeat=2)

60 59

输出

Pass

Fail

import java.util.Scanner;

public class Test30001{

public static void main(String[] args){

int ri, repeat;

int mark;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

mark=in.nextInt();

if (mark>=60)

System.out.println("Pass");

else

System.out.println("Fail");

/*------------------*/

}

}

14.test30002找最小值

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

输入四个整数,输出其中的最小值。

例:括号内是说明

输入

3 (repeat=3)

12 6 1 90

10 40 30 20

-1 -3 -4 -5

输出

min is 1 (12 6 1 90 中的最小值是1)

min is 10 (10 40 30 20 中的最小值是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; ri<=repeat; ri++){

a=in.nextInt();

b=in.nextInt();

c=in.nextInt();

d=in.nextInt();

/*------------------*/

min=a;

if(min>b)min=b;

if(min>c)min=c;

if(min>d)min=d;

System.out.println("min is "+min);

}

}

}

15.test30003求三角形的面积和周长

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

输入三角形的三条边a, b, c,如果能构成一个三角形,输出面积area和周长perimeter; 否则,输出“These sides do not correspond to a valid triangle”。

在一个三角形中,任意两边之和大于第三边。

三角形的面积计算公式:

aere*area = s(s-a)(s-b)(s-c)

其中:s = (a+b+c)/2

输出代码:

System.out.println("area="+area+";perimeter="+perimeter);

System.out.println("These sides do not correspond to a valid triangle");

例:括号内是说明

输入

2 (repeat=2)

5 5 3

1 1 4

输出

area=7.154544;perimeter=13.0

These sides do not correspond to a valid triangle

import java.util.Scanner;

public class Test30003 {

public static void main(String[] args){

int ri, repeat;

float a, b, c, area, perimeter, s;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

a=in.nextFloat();

b=in.nextFloat();

c=in.nextFloat();

/*------------------*/

if (a+b>c&&a+c>b&&b+c>a)

{

perimeter=a+b+c;

s = (a+b+c)/2.0f;

area =(float)Math.sqrt(s*(s-a)*(s-b)*(s-c)) ;

System.out.println("area="+area+";perimeter="+perimeter);

}

else

System.out.println("These sides do not correspond to a valid triangle"); }

}

}

16.test30004判断数的符号

/*输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

输入整数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 Test30004{

public static void main(String[] args){

int ri, repeat;

int x, y=0;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

x=in.nextInt();

/*------------------*/

if (x>0)

y=1;

else if (x==0)

y=0;

else if (x<0)

y=-1;

System.out.println(y);

}

}

}

17.test30005计算个人所得税

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

输入一个职工的月薪salary,输出应交的个人所得税tax。

tax = rate * (salary-850)

当 salary <= 850 时,rate = 0%;

当 850 < salary <= 1350 时,rate = 5%;

当 1350 < salary <= 2850 时,rate = 10%;

当 2850 < salary <= 5850 时,rate = 15%;

当 5850 < salary 时,rate = 20%;

例:括号内是说明

输入

5 (repeat=5)

1010.87

32098.76

800

4010

2850

输出

tax=8.04

tax=6249.75

tax=0.0

tax=474.0

tax=200.0

import java.util.Scanner;

public class Test30005 {

public static void main(String[] args){

int ri, repeat;

float rate, salary, tax;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

salary=in.nextFloat();

/*------------------*/

if(salary<=850)

tax =0;

else if(salary<=1350)

{ rate=0.05f;

tax=rate*(salary-850);

}

else if(salary<=2850)

{

rate=0.10f;

tax=rate*(salary-850);

}

else if(salary<=5850)

{

rate=0.15f;

tax=rate*(salary-850);

}

else

{

rate=0.20f;

tax=rate*(salary-850);

}

System.out.println("tax="+(int)(tax*100+0.5)/100.0);

}

}

}

18.test30006显示水果的价格

/*以下4种水果的单价分别是3.00元/公斤,2.50元/公斤,4.10元/公斤,10.20元/公斤。

[1] apples

[2] pears

[3] oranges

[4] grapes

输入水果的编号,输出该水果的单价。如果输入不正确的编号,显示单价为0。 例:括号内是说明

输入

1 (repeat=1)

3 (oranges的编号)

输出

[1] apples

[2] pears

[3] oranges

[4] grapes

price=4.1

*/

import java.util.Scanner;

public class Test30006{

public static void main(String[] args){

int ri, repeat;

int choice;

float price;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

System.out.println("[1] apples");

System.out.println("[2] pears");

System.out.println("[3] oranges");

System.out.println("[4] grapes");

choice=in.nextInt();

/*------------------*/

if (choice==1)

price=3f;

else if(choice==2)

price=2.5f;

else if (choice==3)

price=4.1f;

else if (choice==4)

price=10.2f;

else

price=0;

System.out.println("price="+price);

}

}

}

19.test30007字母转换

程序填空,不要改变与输入输出有关的语句。

输入一批以问号“?”结束的字符,对“?”以前的每一个字符,如果它是大写字母,输出相应的小写字母;如果它是小写字母,输出相应的大写字母;否则,原样输出。

例:

输入

F=y?

输出

f=Y

import java.io.*;

public class Test30007 {

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

char ch;

ch=(char)System.in.read();

while(ch!='?')

{

/*---------------------*/

if(ch>='A'&&ch<='Z')

ch=(char)(ch+32);

else if((ch>='a'&&ch<='z'))

ch=(char)(ch-32);

System.out.print(ch);

ch=(char)System.in.read();

}

}

}

20.test40001求1+1/2+1/3+ 1/n

/*程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

读入1 个正整数 n(n<=100),计算并输出1+1/2+1/3+ +1/n 。

例:括号内是说明

输入

2 (repeat=1)

2

10

输出

1.5

2.9289684*/

import java.util.Scanner;

public class Test40001 {

public static void main(String[] args) {

int ri, repeat;

int i, n;

float sum;

Scanner in=new Scanner(System.in);

repeat=in.nextInt();

for(ri=1; ri<=repeat; ri++){

n=in.nextInt();

/*--------------------*/

sum=0;

for(i=1;i<=n;i++)

{

sum=sum+(float)1/i;

}

System.out.println(sum);

}

}

}

21.test40002求n!

/*程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

读入1 个正整数 n(n<=50),计算并输出n! 。

例:括号内是说明

输入

3 (repeat=2)

1

10

5

输出

1.0

3628800.0

120.0*/

import 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();

/*--------------------*/

fact=1;

for(i=1;i<=n;i++)

fact=fact*i;

System.out.println(fact);

}

}

}

22.test40003求x的n次幂

程序填空,不要改变与输入输出有关的语句。

输入一个正整数repeat (0<repeat<10),做repeat次下列运算:

读入1 个正实数x和1个正整数 n(n<=50),计算并输出x的n次幂。

例:括号内是说明

JAVA编程习题及答案_完全版.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
    ×
    二维码
    × 游客快捷下载通道(下载后可以自由复制和排版)
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    VIP包月下载
    特价:29 元/月 原价:99元
    低至 0.3 元/份 每月下载150
    全站内容免费自由复制
    注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
    × 常见问题(客服时间:周一到周五 9:30-18:00)