Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.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中的树ASCII艺术_Java_Loops_Ascii - Fatal编程技术网

Java中的树ASCII艺术

Java中的树ASCII艺术,java,loops,ascii,Java,Loops,Ascii,我正在写一个代码,其中我需要使用3个循环,其中一个必须是双嵌套循环,以创建我想要的任何东西的asciiart。我正试着做一棵圣诞树,一旦我把它分成几段,我意识到我有点卡住了,不知道该怎么做 public class christmas_tree{ public static void main (String[] args) { first_triangle(); second_triangle(); third_triangle(); //tree_base();

我正在写一个代码,其中我需要使用3个循环,其中一个必须是双嵌套循环,以创建我想要的任何东西的asciiart。我正试着做一棵圣诞树,一旦我把它分成几段,我意识到我有点卡住了,不知道该怎么做

    public class christmas_tree{

  public static void main (String[] args) {
  first_triangle();
  second_triangle();
  third_triangle();
  //tree_base();
  }

  public static void first_triangle() {
    int size = 10;
    for (int line_number = 0; line_number < size; line_number++) {
      for (int spaces = 0; spaces < size - line_number; spaces++) {
    System.out.print(" ");
      }
      for (int stars = 0; stars < 1 + 2 * line_number; stars++) {
        System.out.print("*");
      }
      System.out.print("\n");
    }
  }
  public static void second_triangle() {
    int size = 15;
    for (int line_number = (size - 10); line_number < size; line_number++) {
      for (int spaces = 0; spaces < size - line_number; spaces++) {
    System.out.print(" ");
      }
      for (int stars = 0; stars < 1 + 2 * line_number; stars++) {
        System.out.print("*");
      }
      System.out.print("\n");
    }
  }
  public static void third_triangle() {
    int size = 20;
    for (int line_number = (size - 10); line_number < size; line_number++) {
      for (int spaces = 0; spaces < size - line_number; spaces++) {
    System.out.print(" ");
      }
      for (int stars = 0; stars < 1 + 2 * line_number; stars++) {
        System.out.print("*");
      }
      System.out.print("\n");
    }
  }
公共类圣诞树{
公共静态void main(字符串[]args){
第一个_三角形();
第二个_三角形();
第三个_三角形();
//树_基();
}
公共静态无效第一个_三角形(){
int size=10;
用于(整数行数=0;行数<大小;行数++){
对于(int spaces=0;spaces
作为您未来学习的灵感,使用Java 11方法,我相信圣诞树可以用以下简单的代码打印:

publicstaticvoidmain(字符串[]args){
打印三角形(10,0,10);
打印三角形(5,5,15);
打印三角形(0,10,20);
printSquare(15,9,4);
}
静态无效打印三角形(整数缩进、整数开始、整数大小){
for(int row=start;row
输出

*
***
*****
*******
*********
***********
*************
***************
*****************
*******************
***********
*************
***************
*****************
*******************
*********************
***********************
*************************
***************************
*****************************
*********************
***********************
*************************
***************************
*****************************
*******************************
*********************************
***********************************
*************************************
***************************************
*********
*********
*********
*********

更新

通过使用自制的
repeat
方法,在所有Java版本中都可以使用相同的逻辑:

static void printTriangle(int缩进、int开始、int大小){
for(int row=start;row
或者,更接近预期的方式(?),使用
for
循环和
print
调用,但将简单的打印循环移动到可重用的帮助器方法,以避免多次重复相同的代码,并提高代码执行的清晰度:

static void printTriangle(int缩进、int开始、int大小){
for(int row=start;row
“我正在尝试制作圣诞树”在ASCII艺术中圣诞树是什么样子的?如果你(和我们)不知道目标是什么,你(和我们)会怎么做知道代码是否正确,或者如何修复它?编辑问题并向我们展示预期输出是什么,以及您的代码实际打印的内容。为什么您需要相同方法的3个相同副本?如果有一个副本以
大小作为参数,不是会更好、更容易吗?这是一种打印我想要的图像的惊人方式t!但是我需要使用嵌套循环。不幸的是,重复不是我的武器库中的东西。我能用嵌套循环来代替打印三角形吗?@Wontoonsin是的,你会的。你已经在做(部分)了。这只是更多的代码。