【问题标题】:Java program where user inputs numbers to print a trident in the output用户输入数字以在输出中打印三叉戟的 Java 程序
【发布时间】:2022-02-04 00:54:12
【问题描述】:

我对编程很陌生,对于这个程序,我不知道如何开始。我只是想知道是否有一种简单的方法可以使用 if & else 语句、字符串和子字符串以及 while 循环来编写这个程序。 我需要使用三个参数使用星号打印三叉戟:

  • t = 尖齿高度
  • s = 齿间距
  • h = 手柄长度

我需要用户输入。此外,您可以假设 t、s、h 至少为 0 且不大于 10。

例如:

Sample Input:
4
3
2

Sample Output:
*   *   *
*   *   *
*   *   *
*   *   *
*********
    *
    *

【问题讨论】:

  • 您是否尝试过制定算法?例如,您需要多少个循环,if & else 语句的条件是什么,等等……如果您可以向我们提供您的尝试以及您遇到问题的地方,我们可以为您提供更好的帮助。目前,这个问题似乎非常广泛和模糊。
  • 请注意:您首先通过自己尝试来学习编程。你不应该把向别人寻求帮助作为你的第一冲动。人生没有弯路,如果你想学习编程,那么你需要花时间去理解作业,并学习如何从需求到设计再到工作代码。当您有代码时,我们很乐意帮助您完成您的工作,但经过数小时的尝试却找不到错误。

标签: java string if-statement while-loop substring


【解决方案1】:
public class MyClass {
    public static void main(String args[]) {
      int t = 5;
      int s = 4;
      int h = 3;
      if ((t >= 0 && t <= 10) && (s >= 0 && s <= 10) && (h >= 0 && h <= 10)) {            
        for (int i = 0; i < t; i++) {
            // first tine
            System.out.print("*");
            for (int j = 0; j < s ; j++) {
                System.out.print(" ");
            }
            // second tine
            System.out.print("*");
            for (int j = 0; j < s ; j++) {
                System.out.print(" ");
            }
            System.out.println("*");
        }
        // middle part
        for (int j = 0; j < 2* s + 3; j++) {
            System.out.print("*");
        }
        System.out.println();
        // handle
        for (int i = 0; i < h; i++) {
            for (int j = 0; j < s + 1 ; j++) {
                System.out.print(" ");
            }
            System.out.println("*");
        }
      } else {             
        System.out.println("Please enter a valid number");         
      }   
    }
}

【讨论】:

    【解决方案2】:

    这就是你要找的,但我没有得到“h”你能解释一下吗?

    public void printTrident(int t, int s, int h) {         
        if ((t >= 0 && t <= 10) && (s >= 0 && s <= 10) && (h >= 0 && h <= 10)) {            
            for (int i = 0; i < t; i++) {
                for (int j = 0; j < s * s; j++) {
                        if (j % t == 0) {
                            System.out.print("*");
                        } else {
                            System.out.print(" ");
                        }
                    }
                    System.out.println();           
                }       
       } else {             
           System.out.println("Please Inter Valid Number");         
       }    
    }
    

    【讨论】:

    • 在我给出的示例中,基本上 h 是三叉戟底部的那两个星号,它是三叉戟的手柄。所以如果我输入比方说 h 的数字 7,那么它将有 7 个星号作为三叉戟的句柄。
    猜你喜欢
    • 2018-05-19
    • 2016-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 2015-01-01
    相关资源
    最近更新 更多