j ava打印水仙花数
时间: 2024-04-03 14:28:52 浏览: 116
Java打印水仙花数的代码如下所示:
```
public class NarcissisticNumber {
public static void main(String[] args) {
for (int i = 100; i < 1000; i++) {
int a = i / 100;
int b = i / 10 % 10;
int c = i % 10;
if (a * a * a + b * b * b + c * c * c == i) {
System.out.println(i);
}
}
}
}
```
这段代码可以打印出所有三位数的水仙花数。其中,水仙花数是指一个三位数,其各位数字的立方和等于该数本身。例如,153是一个水仙花数,因为1³+5³+3³=153。
相关问题
j ava打印杨辉三角形
在Java中,我们可以使用递归的方式来打印杨辉三角形。杨辉三角是一个数学术语,每个数字由它上面两个数字相加得到,通常呈现为一个倒置的金字塔形状。下面是一个简单的递归函数示例:
```java
public class PascalTriangle {
public static void printPascalTriangle(int n) {
for (int i = 0; i < n; i++) {
// 打印前导空格
for (int j = 0; j < n - i - 1; j++) {
System.out.print(" ");
}
// 初始化当前行的第一个数字
int currentNumber = 1;
// 计算并打印每一列的数字
for (int k = 0; k <= i; k++) {
System.out.print(currentNumber + " ");
// 更新当前数字
currentNumber = factorial(i - k) / (factorial(k) * factorial(i - k - 1));
}
System.out.println(); // 换行开始下一行
}
}
// 计算阶乘,用于计算杨辉三角的值
private static int factorial(int num) {
if (num == 0 || num == 1) {
return 1;
} else {
return num * factorial(num - 1);
}
}
public static void main(String[] args) {
int rows = 5;
printPascalTriangle(rows);
}
}
```
在这个例子中,`printPascalTriangle`函数会打印指定行数的杨辉三角,`factorial`函数则用于计算阶乘。运行这个程序,可以得到前五行的杨辉三角。
用j ava打印空心菱形
在Java中,我们可以使用嵌套循环来打印空心菱形。以下是一个简单的示例,展示如何打印一个由星号(*)组成的五角星形状:
```java
public class HollowDiamond {
public static void main(String[] args) {
int n = 5; // 菱形的大小,可以调整
for (int i = 0; i < n; i++) {
// 打印上半部分的星号
for (int j = 0; j <= n - i - 1; j++) {
System.out.print(" ");
}
for (int j = 0; j < 2 * i + 1; j++) {
System.out.print("*");
}
System.out.println();
// 打印下半部分的星号,如果当前行不是最下面一行
if (i != n - 1) {
for (int k = 0; k <= n - i - 2; k++) {
System.out.print(" ");
}
for (int k = 2 * i - 1; k >= 0; k--) {
System.out.print("*");
}
System.out.println();
}
}
}
}
```
当你运行这个程序,会得到一个n行的空心菱形,如5行的菱形所示:
```
*
***
*****
*******
*********
```
阅读全文