1.编写一个Java应用程序,要求从键盘输入两个整数,计算这两个数之和,并输出。
import java.io.*;
public class exe4_1 {
public static void main(String args[]) {
int num1, num2;
String str1, str2;
BufferedReader buf;
buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input the first integer:\n");
try {
str1 = buf.readLine();
num1 = Integer.parseInt(str1);
} catch(IOException e1) {
num1 = 0;
}
System.out.print("Please input the second integer:\n");
try {
str2 = buf.readLine();
num2 = Integer.parseInt(str2);
} catch (IOException e2) {
num2 = 0;
}
System.out.print(num1 + " + " + num2 + " = " + (num1 + num2));
}
}
2.将学生的学习成绩按不同的分数段分为优、良、中、及格和不及格5个等级,从键盘上输入一个0~100之间的成绩,输出相应的等级。要求用switch语句实现。
import java.io.*;
public class exe4_2{
public static void main(String args[]) {
int score;
String str;
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input a score(0~100):\n");
try {
str = buf.readLine();
score = Integer.parseInt(str);
} catch(IOException e1) {
score = 0;
}
while (score < 0 || score > 100) {
System.out.print("Wrong score. Please re-input:\n");
try {
str = buf.readLine();
score = Integer.parseInt(str);
} catch(IOException e1) {
score = 0;
}
}
switch (score / 10) {
case 10:
case 9:
System.out.print("A\n");
break;
case 8:
System.out.print("B\n");
break;
case 7:
System.out.print("C\n");
break;
case 6:
System.out.print("D\n");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.print("E\n");
break;
}
}
}
3.编写一个Java应用程序,输出1和100之间所有既可以被3整除,又可被7整除的数。
import java.io.*;
public class exe4_3{
public static void main(String args[]) {
int i = 0;
for (; i <= 100; i++) {
if (i % 3 == 0 && i % 7 == 0) {
System.out.print(i + " ");
}
}
}
}
4.编程计算sum = 1 - 1/2! + 1/3! - … (-1)^(n-1)/n!。
import java.io.*;
public class exe4_4{
public static void main(String args[]) {
double sum = 0;
for (int i = 1; i < Integer.MAX_VALUE && sum < Double.MAX_VALUE; i++) {
sum += Math.pow((-1), (i - 1)) / factorial(i);
if (factorial(i) >= Double.MAX_VALUE) {
System.out.print("i = " + i + "\n");
break;
}
}
System.out.print("sum = " + sum);
}
public static double factorial(double number) {
if (number <= 1)
return 1;
else
return number * factorial(number - 1);
}
}
5.水仙花数是指其个位、十位和百位三个数的平方和 立方和等于这三个数本身,求出所有的水仙花数。
/**
书上指示水仙花数为平方和,实际上是立方和,并且只针对三位数
*/
import java.io.*;
public class exe4_5{
public static void main(String args[]) {
for (int num = 100; num <= 999; num++) {
if (isDaffodilNumber(num))
System.out.print("number " + num + " is daffodil number.\n");
}
}
public static boolean isDaffodilNumber(int number) {
int single, ten, hundred, sum;
single = number % 10;
ten = number / 10 % 10;
hundred = number /100;
sum = single * single * single + ten * ten * ten + hundred * hundred * hundred;
if (number == sum)
return true;
else
return false;
}
}
6.从键盘输入一个数,判断该数是否是完全数。完全数是指其所有因数(包括1但不包括其自身)的和等于该数自身的数。例如28 = 1 + 2 + 4 + 7 + 14就是一个完全数。
import java.io.*;
public class exe4_6{
public static void main(String args[]) {
int num;
String str;
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input a number:\n");
try {
str = buf.readLine();
num = Integer.parseInt(str);
} catch(IOException e1) {
num = 0;
}
if (isCompleteNumber(num))
System.out.print(num + " is complete number.");
else
System.out.print(num + " is not complete number.");
}
public static boolean isCompleteNumber(int number) {
int sum = 0;
int num = number;
for (int i = 2; i <= number / 2; i++) {
if (number % i == 0)
sum += i;
}
if ((sum + 1) == num) return true;
return false;
}
}
7.计算并输出一个整数各位数字之和。如:5423 = 5 + 4 + 2 + 3。
import java.io.*;
public class exe4_7{
public static void main(String args[]) {
int num, sum = 0;
String str;
BufferedReader buf = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please input a integer:\n");
try {
str = buf.readLine();
num = Integer.parseInt(str);
} catch(IOException e1) {
num = 0;
}
System.out.print(num + " = ");
do {
sum += num % 10;
num = num / 10;
} while (num != 0);
System.out.print(sum);
}
}
8.编程输出如下的数字图案:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
import java.io.*;
public class exe4_8{
public static void main(String args[]) {
int temp, a = 1, b = 2;
for (int i = 0; i <= 4; i++) {
a += i;
temp = a;
System.out.print(a + " ");
for (int j = b; j <= 5; j++) {
a += j;
System.out.print(a + " ");
}
b++;
a = temp;
System.out.print("\n");
}
}
}
注:练习均为博主自己编写,不是标准答案,可能存在问题,可以留言讨论。
练习小程序建议用Notepad++