java循环练习题困难
时间: 2023-10-23 20:13:12 浏览: 114
好的,我可以为您提供一道 Java 循环练习题,难度适中,供您进行练习:
题目:编写一个 Java 程序,输出所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如,153 是一个“水仙花数”,因为 $1^3 + 5^3 + 3^3 = 153$。
提示:可以使用嵌套循环来遍历所有的三位数,并使用条件语句判断是否为“水仙花数”。
以下是参考代码:
```java
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i <= 999; i++) {
int sum = 0;
int temp = i;
while (temp != 0) {
int digit = temp % 10;
sum += digit * digit * digit;
temp /= 10;
}
if (sum == i) {
System.out.println(i);
}
}
}
}
```
希望这道题能够帮助您提高 Java 循环编程能力。如果您有其他问题或需求,欢迎随时向我提问。
相关问题
java for循环练习题
以下是一些Java的for循环练习题:
输出四行直角三角形:
```java
for (int i = 0; i < 5; i++) {
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println();
}
```
输出七行等腰三角形:
```java
for (int i = 0; i < 7; i++) {
for (int j = 0; j < 7; j++) {
if (j > i) System.out.print(" ");
}
for (int j = 0; j <= i; j++) {
System.out.print("*");
}
for (int j = 0; j < i; j++) {
System.out.print("*");
}
System.out.println("");
}
```
输出七行棱形:
```java
for (int a = 1; a <= 4; a++) {
for (int b = 1; b <= 4 - a; b++) {
System.out.print(" ");
}
for (int c = 1; c <= a * 2 - 1; c++) {
System.out.print("*");
}
System.out.println();
}
for (int d = 3; d >= 1; d--) {
for (int b = 1; b <= 4 - d; b++) {
System.out.print(" ");
}
for (int c = 4 - d; c <= 2 * d; c++) {
System.out.print("*");
}
System.out.println();
}
```
斐波那契数列(for循环实现):
```java
int n = 10; // 斐波那契数列的长度
int[] fib = new int[n];
fib = 0;
fib = 1;
for (int i = 2; i < n; i++) {
fib[i = fib[i - 1 + fib[i - 2];
}
for (int i = 0; i < n; i++) {
System.out.print(fib[i + " ");
}
```
正向乘法表:
```java
for (int i = 1; i <= 9; i++) {
for (int j = 1; j <= i; j++) {
System.out.print(j + " X " + i + " = " + (i * j) + "\t");
}
System.out.println();
}
```
循环输入周一到周五的成绩,并计算平均分、最高分和最低分:
```java
Scanner input = new Scanner(System.in);
double sum = 0;
int maxScore = Integer.MIN_VALUE;
int minScore = Integer.MAX_VALUE;
for (int i = 1; i <= 5; i++) {
System.out.println("请输入周" + i + "的成绩:");
int score = input.nextInt();
while (score < 0) {
System.out.println("成绩不能为负数,请重新输入:");
score = input.nextInt();
}
sum += score;
maxScore = Math.max(maxScore, score);
minScore = Math.min(minScore, score);
}
double average = sum / 5;
System.out.println("这五个数的平均数:" + average);
System.out.println("这五个数的最高数:" + maxScore);
System.out.println("这五个数的最低数:" + minScore);
```<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Java-for循环练习](https://blog.csdn.net/weixin_45297286/article/details/118616109)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [JAVA初学者关于for循环的十道练习题](https://blog.csdn.net/m0_62756941/article/details/132035281)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
java do while循环练习题
### 回答1:
好的,以下是一些关于Java do-while循环的练习题:
1. 编写一个程序,使用do-while循环,从1数到10,将每个数字输出到屏幕上。
2. 编写一个程序,使用do-while循环,从10数到1,将每个数字输出到屏幕上。
3. 编写一个程序,使用do-while循环,求1到10的和,并将结果输出到屏幕上。
4. 编写一个程序,使用do-while循环,输入一个正整数n,然后求1到n的和,并将结果输出到屏幕上。
5. 编写一个程序,使用do-while循环,输入一组数字,直到输入0为止,然后将输入的数字求和并输出结果到屏幕上。
希望这些练习题能够帮助您巩固和提高对Java do-while循环的理解和应用能力。
### 回答2:
Java中的do-while循环是一种循环语句,与while循环类似,但是它会先执行循环体中的代码,然后根据循环条件来判断是否继续循环。
下面是几个do-while循环的练习题:
1.请编写一个程序,使用do-while循环计算并输出10以内的所有整数的和。
2.请编写一个程序,使用do-while循环输出一个整数的所有因子。
例如,如果输入的数字是10,则应该输出1、2、5、10。
3.请编写一个程序,使用do-while循环从键盘读取输入,直到用户输入的数为5。
程序应该在每次循环中输出“请输入一个数字:”,并等待用户输入。
4.请编写一个程序,使用do-while循环从键盘读取输入,直到用户输入的值为-1。
程序应该在每次循环中输出“请输入一个数字:”,并等待用户输入。
然后,程序应该计算所有输入数字的和,并输出结果。如果用户一开始就输入-1,则输出0作为结果。
5.请编写一个程序,使用do-while循环来实现斐波那契数列的生成。
斐波那契数列是这样一组数列:1、1、2、3、5、8、13、21、34、……,
其中每个数都是前两个数的和。程序应该在每次循环中输出当前斐波那契数列的值,并等待一段时间后继续循环。
这些练习题可以帮助我们加深对于do-while循环的理解和掌握,在实践中掌握Java编程的基本技能,为我们以后的开发工作打下坚实的基础。
### 回答3:
Java的do-while循环是一种比较常用的循环方式,它对于需要先执行一次循环体的场景非常有用。本文将介绍一些do-while循环的练习题,协助读者更好的理解和掌握这种循环方式。
1、用do-while循环语句计算1到100的整数和。
首先,要计算1到100之间的所有整数和,需要定义一个整型变量sum,初始值为0。接着,使用do-while循环从1开始加,每次循环都将变量i加1,并将此时的i值加到sum中。执行完100次循环后,输出sum的值即为1到100的整数和。
代码示例:
```
int sum = 0;
int i = 1;
do {
sum += i;
i++;
} while (i <= 100);
System.out.println("1到100之间的整数和为:" + sum);
```
2、利用do-while循环语句计算输入的数的阶乘。
阶乘是指从1到该数之间所有整数的乘积,如5的阶乘为5×4×3×2×1=120。为了计算n的阶乘,需要使用do-while循环从1开始乘,每次循环都将乘积结果乘以i,直到i等于n为止。执行完循环后,输出最终结果即为n的阶乘。
代码示例:
```
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个整数n:");
int n = scanner.nextInt();
int i = 1;
int fact = 1;
do {
fact *= i;
i++;
} while (i <= n);
System.out.println(n + "的阶乘为:" + fact);
```
3、通过do-while循环语句输出9×9乘法表。
乘法表是一个比较常见的练习题,它可以检验循环嵌套和循环控制语句的熟练程度。利用do-while循环输出9×9乘法表,首先需要定义两个循环变量i和j,i表示被乘数,j表示乘数。每一行输出从1到9的乘积,直到i等于9为止,循环结束。
代码示例:
```
int i = 1;
do {
int j = 1;
do {
System.out.print(j + "×" + i + "=" + i*j + " ");
j++;
} while (j <= i);
System.out.println();
i++;
} while (i <= 9);
```
以上就是几个利用do-while循环解决的Java编程练习题,希望对读者有所帮助。在实际编程中,需要根据不同的场景灵活运用循环语句,以提高编程效率和代码质量。