我在Java课程中的任务是制作3个三角形.一个左对齐,一个右对齐,一个居中.我必须为什么类型的三角形创建一个菜单,然后输入需要多少行.三角形必须看起来像这样
*
**
***
****
*
**
***
****
*
***
*****
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能够做左对齐的三角形,但我似乎无法得到另外两个.我试过谷歌搜索但没有出现.有人可以帮忙吗?到目前为止我有这个.
import java.util.*;
public class Prog673A
{
public static void leftTriangle()
{
Scanner input = new Scanner (System.in);
System.out.print("How many rows: ");
int rows = input.nextInt();
for (int x = 1; x <= rows; x++)
{
for (int i = 1; i <= x; i++)
{
System.out.print("*");
}
System.out.println("");
}
}
public static void rightTriangle()
{
Scanner input = new Scanner (System.in);
System.out.print("How many rows: ");
int rows = input.nextInt();
for (int x = 1; x <= rows; x++)
{
for (int i = 1; i >= x; i--)
{
System.out.print(" ");
}
System.out.println("*");
}
}
public static void centerTriangle()
{
}
public static void main (String args [])
{
Scanner input = new Scanner (System.in);
System.out.println("Types of Triangles");
System.out.println("\t1. Left");
System.out.println("\t2. Right");
System.out.println("\t3. Center");
System.out.print("Enter a number: ");
int menu = input.nextInt();
if (menu == 1)
leftTriangle();
if (menu == 2)
rightTriangle();
if (menu == 3)
centerTriangle();
}
}
Run Code Online (Sandbox Code Playgroud)
样本输出:
Types of Triangles
1. Left
2. Right
3. Center
Enter a number (1-3): 3
How many rows?: 6
*
***
*****
*******
*********
***********
Run Code Online (Sandbox Code Playgroud)
Ilmari Karonen有很好的建议,我只想稍微概括一下.一般来说,在你问"我怎么能让电脑做这个?"之前 问" 我该怎么做?"
所以,如果有人给你一个空Word文档并要求你创建三角形,你会怎么做呢?无论您想出什么解决方案,通常都不难将其转换为Java(或任何其他编程语言).它可能不是最好的解决方案,但(希望!)它可以工作,它可能会为您提供更好的解决方案.
所以,例如,也许你会说你输入基数,然后上一行,然后键入下一个最高行,等等.这表明你可以在Java中做同样的事情 - 创建一个字符串列表,从顶部到顶部,然后反转它们.这可能表明你可以按相反的顺序创建它们,然后不必反转它们.然后这可能表明你不再需要这个列表了,因为你只是按照相同的顺序创建和打印它们 - 此时你已经基本上提出了Ilmari Karonen的建议.
或者,也许你想出了另一种方式 - 也许你会更直接地想出Ilmari Karonen的想法.无论如何,它应该可以帮助您解决这个问题以及许多其他问题.
| 归档时间: |
|
| 查看次数: |
110688 次 |
| 最近记录: |