题目1:使用for循环、while循环、do…while循环三种方式实现1+2+……+100求和。
for循环:
int sum = 0;
for (int i = 1; i <=100 ; i++) {
sum +=i;
}
System.out.println("计算1+2+3....+100="+sum);
while循环:
int sum = 0;
int i = 1;
while (i<=100){
sum+=i;
i++;
}
System.out.println("计算1+2+3+4....+100="+sum);
do while循环:
int i=1;
int sum=0;
do {
sum+=i;
i++;
}while(i<=100);
System.out.println("计算1+2+3+4....+100="+sum);
编程计算 1+3+5+7+…99的和:
int sum = 0;
for (int i = 1; i <=100 ; i++) {
if(i%2!=0){
sum +=i;
}
}
System.out.println("计算1+3+5....+99="+sum);
编程输出所有的玫瑰花数:
int n=100;
int p1,p2,p3,p4;
while (n <= 9999){ //循环条件
//分离出个位、十位、百位和千位数
p1 = n % 10;
p2 = (n - p1) / 10 % 10;
p3 = (n - 10 * p2 - p1) / 100 % 10;
p4 = (n - 10 * p3 - 10 * p2 - p1) / 1000;
//筛选玫瑰花数
if (n ==p4 * p4 * p4 * p4+ p3 * p3 * p3 * p3 + p2 * p2 * p2 * p2 + p1 * p1 * p1 * p1){
System.out.println(n + "=" +p4 + "^4 +" + p3 + "^4 +"+ p2 + "^4 +"+ p1 + "^4");
}
n++;
}
编程完成猜数字游戏:
Random r = new Random();
int luckNumber = r.nextInt(100)+1;
Scanner sc = new Scanner(System.in);
while (true){
System.out.println("请输入一个整数数字:");
int guessNumber = sc.nextInt();
if(guessNumber > luckNumber){
System.out.println("数字大了");
}else if(guessNumber < luckNumber){
System.out.println("数字小了");
}else{
System.out.println("恭喜你,猜中了");
break;
}
}
编程判断一个整数是否是素数:
int n;
boolean isPrimeNumber;
Scanner sc = new Scanner(System.in);
System.out.print("n = ");
n = sc.nextInt();
isPrimeNumber = true;
for (int i = 2; i <= n - 1; i++) {
if (n % i == 0) {
isPrimeNumber = false;
break;
}
}
if (n == 1) {
System.out.println(n + "既不是素数,也不是合数。");
} else if (isPrimeNumber) {
System.out.println(n + "是素数。");
} else {
System.out.println(n + "是合数。");
}
编程输出100以内的全部素数,每行打印5个素数:
boolean isPrime = true;
int PrimeCount = 0;
for (int i=1; i <= 100; i += 2) {
int k = (int) Math.sqrt(i);
isPrime = true;
for (int j = 2; j <= k; j++) {
if (i % j == 0) {
isPrime = false;
break;
}
}
if (isPrime) {
PrimeCount++;
System.out.print(i + "\t");
if (PrimeCount % 5 == 0) {
System.out.println();
}
}
}
编程输出指定范围内的闰年:
·输出2000~2500之间的所有闰年,要求每行输出5个年份,并且统计总共有多少个闰年。
·提示:用for循环控制范围,在循环里嵌套一个选择结构负责筛选和统计闰年个数,选择结构里还要嵌套选择结构来负责每输出5个年份就换行。
int sum = 0;
for (int i = 1; i <=100 ; i++) {
if(i%2!=0){
sum +=i;
}
}
System.out.println("计算1+3+5....+99="+sum);
编程打印100-999的水仙花数并计数:
int sum = 0;
for (int i = 100 ; i <=999 ; i++) {
int ge = i %10;
int shi = i/10 %10;
int bai = i/100;
if(ge*ge*ge + shi*shi*shi+bai*bai*bai == i){
sum+=1;
System.out.println(i);
}
}
System.out.println("水仙花数个数为:"+sum);
编程打印实心钻石:
·实心钻石,其实由一个正立的等腰三角形和一个倒立的等腰三角形组合而成,也就是一个菱形。
Scanner scan = new Scanner(System.in);
System.out.println("请输入腰长:");
int yao = scan.nextInt();
//上半部分
for(int i=1;i<=yao;i++){
for(int j=1;j<=yao-i;j++){
System.out.print(" ");
}
//打印*号
for(int k=1;k<=2*i-1;k++){
System.out.print("*");
}
//换行
System.out.println();
}
//下半部分
for(int i=yao-1;i>0;i--){
//打印空格
for(int j=1;j<=yao-i;j++){
System.out.print(" ");
}
//打印*号
for(int k=1;k<=2*i-1;k++){
System.out.print("*");
}
//换行
System.out.println();
}
编程计算1!+2! + 3! +… +10!的值:
提示:外循环负责累加求和,内循环负责累乘计算阶乘。
int sum=0;
int j = 1;
for (int i = 1; i <=10 ; i++) {
j =j*i;
sum+=j;
}
System.out.println("10的阶乘之和是:"+sum);
编程输出指定范围内的素数:
·输出200~400之间的全部素数,要求每行输出5个
int k = (int) Math.sqrt(i);
isPrime = true;
for (int j = 2; j <= k; j++) {
if (i % j == 0) {
isPrime = false;//不是素数
break;
}
}
if (isPrime) {
PrimeCount++;
System.out.print(i + "\t");
if (PrimeCount % 5 == 0) {
System.out.println();
}
}
}