Java 给定一个整数,输出边长为该数的菱形图案。最后一行没有换行
时间: 2023-06-03 15:01:42 浏览: 47
符,末尾不要有空格。
代码如下:
```
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int mid=(n-1)/2;
for(int i=0;i<n;i++) {
int line=i>mid?n-i-1:i;
int space=mid-line;
for(int j=0;j<space;j++) {
System.out.print(" ");
}
for(int j=0;j<2*line+1;j++) {
System.out.print("*");
}
if(i==n-1) {
continue;
}
System.out.println();
}
}
}
```
相关问题
java给定一个奇数n,输出一个n行的菱形
以下是一个输出n行菱形的Java代码:
```
import java.util.Scanner;
public class Diamond {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入一个奇数n:");
int n = input.nextInt();
input.close();
// 输出上半部分
for (int i = 1; i <= n; i += 2) {
for (int j = 1; j <= (n - i) / 2; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
// 输出下半部分
for (int i = n - 2; i >= 1; i -= 2) {
for (int j = 1; j <= (n - i) / 2; j++) {
System.out.print(" ");
}
for (int j = 1; j <= i; j++) {
System.out.print("*");
}
System.out.println();
}
}
}
```
代码思路:
1. 首先通过Scanner类获取用户输入的奇数n。
2. 然后使用两个for循环分别输出菱形的上半部分和下半部分。
3. 上半部分的行数从1开始,每次增加2,直到n为止。每一行的空格数为(n-i)/2,星号数为i。
4. 下半部分的行数从n-2开始,每次减少2,直到1为止。每一行的空格数和星号数的计算方式与上半部分相同。
5. 最后输出的结果就是一个n行的菱形。
给定一个正整型数,按递减的顺序输出这个整数Java
下面是Java代码实现一个给定的正整数按递减顺序输出的示例:
```java
import java.util.Arrays;
import java.util.Collections;
public class Main {
public static void main(String[] args) {
int[] nums = {4, 2, 7, 1, 9, 3, 6};
Arrays.sort(nums); // 先将数组按升序排序
int len = nums.length;
Integer[] result = new Integer[len];
for (int i = 0; i < len; i++) {
result[i] = Integer.valueOf(nums[len - i - 1]); // 从后往前遍历,将数组元素逆序存入result中
}
System.out.println(Arrays.toString(result)); // 输出逆序后的结果
}
}
```
以上代码中,我们使用了Java内置的`Arrays.sort()`方法将数组元素按升序排序,然后从后往前遍历数组,将每个元素逆序存入一个新的数组`result`中,最后输出逆序后的`result`数组即可得到按递减顺序排列的结果。