Java 打印带有星星(*)的空菱形
钻石应该是这样的: * * * * * * * * * * * * * * * * 我想用简单的for循环,有人能帮忙吗? 我试过一颗完整的钻石:Java 打印带有星星(*)的空菱形,java,Java,钻石应该是这样的: * * * * * * * * * * * * * * * * 我想用简单的for循环,有人能帮忙吗? 我试过一颗完整的钻石: void main()throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); System.out.println("ENTER T
void main()throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("ENTER THE HEIGHT ");
int ht = Integer.parseInt(br.readLine());
int ht2 = (int)Math.floor(ht/2);
ht = (int)Math.ceil(ht/2);
for( int ht3=ht-1 ; ht3>=0 ; ht3-- )
{
for(int i=1 ; i <= ht3 ; i++ )
System.out.print(" ");
for ( int j=1 ; j<=ht-ht3 ; j++ )
System.out.print("* ");
System.out.println();
}
for( int ht3=1 ; ht3<=ht2 ; ht3++ )
{
for(int i=1 ; i <= ht3 ; i++ )
System.out.print(" ");
for ( int j=ht2-ht3 ; j>=1 ; j-- )
System.out.print("* ");
System.out.println();
}
}
void main()引发IOException{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“输入高度”);
int ht=Integer.parseInt(br.readLine());
int ht2=(int)数学层(ht/2);
ht=(int)数学单元(ht/2);
对于(int ht3=ht-1;ht3>=0;ht3--)
{
对于(inti=1;iimportjava.io.*;
公共类空钻石
{
void main()引发IOException
{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“输入高度”);
int ht=Integer.parseInt(br.readLine());
int空间=ht-1;
int midspace=-1;
int k;
对于(int c=1;c=1;i-=2)
{
int i2=i;
而(i2!=0)
{
系统输出打印(“”);
i2--;
}
系统输出打印(“*”);
对于(int j=1;j,请尝试以下空菱形代码:
import java.util.*;
class Pattern{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int a,b;
System.out.println("Please enter the number of rows : ");
a=sc.nextInt();
for(int i=1;i<=a;i++){
int l=a;
while(l>i){
System.out.print(" ");
l--;
}
int k=0;
if(i<=2){
while(k!=i){
System.out.print(" *");
k++;
}
}
else{
System.out.print(" *");
int m=1;
while(m<i){
System.out.print(" ");
m++;
}
System.out.print("*");
}
System.out.println();
}
for(int i=a-1;i>=1;i--){
int l=a-i;
while(l!=0){
System.out.print(" ");
l--;
}
int k=0;
if(!(i>2)){
if(i==2){
System.out.print(" * *");
}
if(i==1){
System.out.print(" *");
}
}
else{
int g=0;
System.out.print("*");
while(g<i){
System.out.print(" ");
g++;
}
System.out.print("*");
}
System.out.println();
}
}
}
import java.util.*;
阶级模式{
公共静态void main(字符串参数[]){
扫描仪sc=新的扫描仪(System.in);
INTA,b;
System.out.println(“请输入行数:”);
a=sc.nextInt();
对于(int i=1;ii){
系统输出打印(“”);
l--;
}
int k=0;
如果(i2)){
如果(i==2){
系统输出打印(**);
}
如果(i==1){
系统输出打印(“*”);
}
}
否则{
int g=0;
系统输出打印(“*”);
而(gpublic类EmptyDiamond{
公共静态void main(字符串[]args)引发NumberFormatException,IOException{
BufferedReader br=新的BufferedReader(新的InputStreamReader(System.in));
System.out.println(“输入高度”);
int ht=Integer.parseInt(br.readLine());
int空间=ht-1;
int midspace=-1;
对于(int i=0;i 对于(int j=1;j当前发生的事情与您预期的不一样?学习循环的完美示例:)。您的代码行为有点不正常,甚至有点高。请不要用代码片段回答,而是解释解决方案。您能详细说明一下吗?
public static void diamond(int height) {
for (int i = 0; i <= height; i++) {
int edge1 = mod((height / 2 - i), height);
int edge2 = mod((height / 2 + i), height);
int left = Math.min(edge1, edge2);
int right = Math.max(edge1, edge2);
if (i == height / 2 && height % 2 == 1) {
continue;
}
spaces(left);
diamond();
if (right != left) {
spaces(right - left);
diamond();
}
newLine();
}
}
private static int mod(int a, int b) {
int c = a % b;
return (c < 0) ? c + b : c;
}
private static void spaces(int count) {
for (int i = 0; i < count; i++) {
System.out.print(" ");
}
}
private static void diamond() {
System.out.print("*");
}
private static void newLine() {
System.out.println();
}
public static void main(String[] args) {
diamond(5);
}
import java.util.*;
class Pattern{
public static void main(String args[]){
Scanner sc=new Scanner(System.in);
int a,b;
System.out.println("Please enter the number of rows : ");
a=sc.nextInt();
for(int i=1;i<=a;i++){
int l=a;
while(l>i){
System.out.print(" ");
l--;
}
int k=0;
if(i<=2){
while(k!=i){
System.out.print(" *");
k++;
}
}
else{
System.out.print(" *");
int m=1;
while(m<i){
System.out.print(" ");
m++;
}
System.out.print("*");
}
System.out.println();
}
for(int i=a-1;i>=1;i--){
int l=a-i;
while(l!=0){
System.out.print(" ");
l--;
}
int k=0;
if(!(i>2)){
if(i==2){
System.out.print(" * *");
}
if(i==1){
System.out.print(" *");
}
}
else{
int g=0;
System.out.print("*");
while(g<i){
System.out.print(" ");
g++;
}
System.out.print("*");
}
System.out.println();
}
}
}
public class EmptyDiamond {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("ENTER THE HEIGHT ");
int ht = Integer.parseInt(br.readLine());
int space = ht - 1;
int midspace = -1;
for (int i = 0; i < space; i += 2) {
// start
for (int j = i; j < space; j++) {
System.out.print(" ");
}
// star
System.out.print("*");
// middle
for (int j = 1; j <= midspace; j++)
System.out.print(" ");
midspace += 4;
// star
if (i != 0)
System.out.print("*");
System.out.println();
}
for (int i = 0; i <= space; i += 2) {
// start
for (int j = 0; j < i; j++) {
System.out.print(" ");
}
// star
System.out.print("*");
// middle
for (int k = 0; k < midspace; k++)
System.out.print(" ");
midspace -= 4;
// star
if (i != space)
System.out.print("*");
System.out.println();
}
}
}