Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用嵌套for循环制作菱形_Java_For Loop_Nested_Nested Loops - Fatal编程技术网

Java 如何使用嵌套for循环制作菱形

Java 如何使用嵌套for循环制作菱形,java,for-loop,nested,nested-loops,Java,For Loop,Nested,Nested Loops,所以我被派去用爪哇语做一个带星号的钻石,我真的被难住了。以下是我到目前为止的想法: 公共类Lab1{ 公共静态void main(字符串[]args){ 对于(int i=5;i>-5;i--){ 对于(int j=0;j=i;j--){ 系统输出打印(“”); } System.out.println(“*”); } } } 我知道你想做什么,这是思考钻石的一种非常巧妙的方式 当我变成负数时,你会对j计数器产生一些问题。看看如何使用Math.abs() 还可以尝试在基本步骤中编写一些带有注释

所以我被派去用爪哇语做一个带星号的钻石,我真的被难住了。以下是我到目前为止的想法:

公共类Lab1{
公共静态void main(字符串[]args){
对于(int i=5;i>-5;i--){
对于(int j=0;j=i;j--){
系统输出打印(“”);
}
System.out.println(“*”);
}
}
}

我知道你想做什么,这是思考钻石的一种非常巧妙的方式

当我变成负数时,你会对j计数器产生一些问题。看看如何使用Math.abs()

还可以尝试在基本步骤中编写一些带有注释的伪代码,以使模式清晰:

 //print 5 spaces + 1 star
 //print 4 spaces + 2 stars
 //print 3 spaces + 3 stars
 //print 2 spaces+ 4 stars
 .
 . 
 .  
 //print 5 spaces + 1 star
然后,用变量(j和i)代替数字

你现在有了一个模型。这通常是编程中最难的部分。正确地获取模型。只有当您对模型如何工作有了好的想法时,才开始编写代码

一旦替换了变量,就可以尝试将整个过程转换为自动循环。

public class Diamond{
//钻石的大小
私有整数对角;
公共菱形(整数对角线){
对角线=对角线;
}
公共场所(钻石){
int n=对角线;
对于(int i=n/2;i>=-n/2;i--){
对于(int k=0;k
主要问题是对角线的奇偶性。
如果它是偶数,你就不能正确地画出上面的星号。所以有两种钻石-奇数和偶数对角线(顶部有2和1个星号)。

这应该行得通。您可能只需要大多数方法和
printdommond()

import java.util.Scanner;
公共级星际{
公共静态void main(字符串[]args){
int读取器;
扫描仪kBoard=新的扫描仪(System.in);
做{
System.out.println(“插入多行:”);
reader=kBoard.nextInt();
printDiamond(阅读器);
}while(reader!=0);
}
公共静态无效打印星(int n){
如果(n>=1){
系统输出打印(“*”);
printStars(n-1);
}
}
公共静态无效printTopTriangle(int行){
int x=1;
对于(int j=(行-1);j>=0;j--,x+=2){
打印空间(j);
printStars(x);
系统输出打印(“\n”);
}
}
公共静态空白打印空间(int n){
如果(n>=1){
系统输出打印(“”);
打印空间(n-1);
}
}
公共静态void打印底部三角形(int行,int起始空间){
int x=1+(2*(行-1));
对于(int j=startspace;j 0;j++,x-=2){
打印空间(j);
printStars(x);
系统输出打印(“\n”);
}
}
公共静态无效打印底部三角形(int行){
int x=1+(2*(行-1));
对于(int j=0;j 0;j++,x-=2){
打印空间(j);
printStars(x);
系统输出打印(“\n”);
}
}
公共静态无效打印菱形(整数行){
printTopTriangle((int)行/2+1);
打印底部三角形((int)行/2,1);
}
}
用于(int i=0;i<5;i++)
System.out.println(“**********”。子字符串(i,5+2*i));
对于(int i=5;i>0;i--)
System.out.println(“*********.”子字符串(i-1,5+(2*i)-3));
导入静态java.lang.System.out;
导入java.util.Scanner;
公共级钻石{
公共静态void main(字符串[]args){
扫描仪sc=新的扫描仪(System.in);
int row=sc.nextInt();
sc.close();
钻石d=新钻石();
d、 上菱形(世界其他地区);
d、 lowerDiamond(第2行);
}
公共区域(INTA){
for(int i=0;ii;j--)
输出。打印(“”);
对于(int k=0;k<2*i-1;k++)
输出。打印(“*”);
打印输出(“\n”);
}
}
公共无效下限(int b){
对于(int i=0;iimport java.util.Scanner;
公共级钻石{
/**
*@param args
*/
公共静态void main(字符串[]args){
//TODO自动生成的方法存根
扫描仪输入=新扫描仪(系统输入);
int input=in.nextInt();
int min=1;
对于(int i=0;ii;j--){
系统输出打印(“”);
}
对于(int k=0;k
公共类MyDiamond{
聚氨基甲酸酯
import java.util.Scanner;

public class MakeDiamond {
public static void main(String[] args) {

    Scanner sc = new Scanner(System.in);

    while (true) {

        System.out.println("Let's Creat Diamonds");
        System.out.println("If number increases Diamonds gets bigger. Please input number lager than 1 : ");

        int user_input = sc.nextInt(); //gets user's input
        System.out.println("");

        int x = user_input;
        int front_space =  -5;

        for (int i = 0; i < 2 * user_input + 1; i++) {
            for (int a = front_space; a < Math.abs(i - user_input); a++) {
                System.out.print("    "); //Change a bit if diamonds are not in good shape
            }

            if (i < user_input + 1) {
                for (int b = 0; b < 2 * i + 1; b++) {
                    System.out.print("*  "); //Change a bit if diamonds are not in good shape
                }

            } else if (i > user_input) {
                for (int c = 0; c < 2 * x - 1; c++) {
                    System.out.print("*  "); //Change a bit if diamonds are not in good shape
                }
                x--;
            }
            System.out.print('\n');
        }

        System.out.println("\nRun Again? 1 = Run,  2 = Exit : ");

        int restart = sc.nextInt();
        System.out.println("");

        if (restart == 2) {
            System.out.println("Exit the Program.");
            System.exit(0);
            sc.close();
        }
    }
  }
}
package com.DiamondPrintingProgram;

import java.util.Scanner;

public class DiamondPrintingProgram {

    public static void main(String[] args) { 
        int num = getInput();
        int middle = (int) num / 2 + 1;
        printOutput(num,middle); 
    }
    public static int getInput() {
        Scanner sc = new Scanner(System.in);
        int num;
        System.out.print("Enter a odd number: ");
        while (true) {
            num = sc.nextInt();
            if (num % 2 != 0) {
                break;
            }
            System.out.print("Please Enter a ODD NUMBER: ");
        }
        return num;
    }
    private static void printOutput(int num, int middle){
        char asterisk = '*';
        for (int j = 0; j < num; j++) {
            for (int i = 1; i <= num; i++) {
                if (j < middle) {
                    if ((i < (middle - j) || i > (middle + j))) {
                        System.out.print(' ');
                    } else {
                        System.out.print(asterisk);
                    }
                } else {
                    if ((i < (j - middle + 2)) || (i > (2 * num - j - middle))) {
                        System.out.print(' ');
                    } else {
                        System.out.print(asterisk);
                    }
                }
            }
            System.out.println();
        }
    }
}
        ∗        
      ∗ ∗ ∗      
    ∗ ∗ ∗ ∗ ∗    
  ∗ ∗ ∗ ∗ ∗ ∗ ∗  
∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗ ∗
  ∗ ∗ ∗ ∗ ∗ ∗ ∗  
    ∗ ∗ ∗ ∗ ∗    
      ∗ ∗ ∗      
        ∗        
public class Main {
    public static void main(String[] args) {
        final int MID_ROW_NUM = 5;
        for (int i = 1 - MID_ROW_NUM; i < MID_ROW_NUM; i++) {
            System.out.println(" ".repeat(Math.abs(i)) + "*".repeat((MID_ROW_NUM - Math.abs(i)) * 2 - 1));
        }
    }
}
    *
   ***
  *****
 *******
*********
 *******
  *****
   ***
    *
public class Main {
    public static void main(String[] args) {
        final int MID_ROW_NUM = 5;
        for (int i = 1 - MID_ROW_NUM; i < MID_ROW_NUM; i++) {
            System.out.println("  ".repeat(Math.abs(i)) + "* ".repeat((MID_ROW_NUM - Math.abs(i)) * 2 - 1));
        }
    }
}
        * 
      * * * 
    * * * * * 
  * * * * * * * 
* * * * * * * * * 
  * * * * * * * 
    * * * * * 
      * * * 
        *