我需要编写一个程序,给出一个数字和一个字母,它将打印字母的次数与给定的数字相同。之后,我需要调用第一个方法并使用给定的值来制作一个三角形。 如果我给它参数(5,“u”)=“uuuuu”,第一个输出应该是这样的 我已经有了第一部分,但是我需要调用第一个方法并得到这样的输出:
u
uu
uuu
uuuu
uuuuu
这是我到目前为止在代码上的内容:
public class Triangle
{
private String theLetter;
private int cnt;
private String aLetter;
private int howMany;
public void getLetters(int cnt, String theLetter)
{
System.out.print("\"");
for(int x=0; x < cnt; x++)
{
System.out.print(theLetter);
}
System.out.print("\"");
System.out.println();
}
public void getLetterTriangle(int howMany, String aLetter)
{
for(int i = 0; i < howMany ; i++)
{
getLetters(howMany, aLetter);
}
System.out.println();
}
}
我无法让for循环去做。请帮助。
答案 0 :(得分:1)
你应该看看这部分:
for(int i = 0; i < howMany ; i++)
{
getLetters(howMany, aLetter);
}
如果仔细观察,您会发现循环中变化的变量是i
,而不是howMany
。由于这显然是一项家庭作业,我将剩下的留给你。
更新:你还应该看看Martijn Courteaux的答案。他对前面的空间有一个有效的观点。
答案 1 :(得分:1)
您正在打印正方形。在getLetters()
方法中,您应该有两个部分。第一部分应打印空格,第二部分应打印字母。您需要为getLetters()
方法添加一个额外参数,以便在打印字母之前知道必须打印多少空格。
答案 2 :(得分:-1)
将getLetters中的代码更改为:
public void getLetters(int cnt, int howMany, String theLetter)
{
System.out.print("\"");
for(int x=0; x < (howMany-cnt); x++) // you need to display spaces
System.out.print(" ");
for(int x=0; x < cnt; x++)
System.out.print(theLetter);
System.out.print("\"");
System.out.println();
}
和getLetterTriangle
public void getLetterTriangle(int howMany, String aLetter)
{
for(int i = 1; i <= howMany ; i++) // start with 1
getLetters(i, howMany, aLetter); // display i, total width howMany
}