所以我想知道如何使用for循环复制字母c。我用*符号做了这个,但似乎无法使用字母c。我用IBIO来获取输入。我需要知道如何以与*相同的方式复制c。当我运行代码时,c只打印一次。为什么是这样?请帮我解决。
public class Methods
{
public static void main (String args[])
{
new Methods ();
}
public quadMethods ()
{
printNStars (5);
printNChars (6, 'q');
}
public void printNStars (int n)
{ //prints 'n' stars on the screen in a row
n = IBIO.inputInt ("Enter a number for 'n': ");
for (int i = 0; i <= n; i++)
System.out.print ("*");
System.out.println ("");
}
public void printNChars (int n, char c)
{ //prints 'n' of character c on the screen in a row
for (int i = 0; i <= n; i++);
{
System.out.print ("c");
}
System.out.println ("");
}
}
答案 0 :(得分:0)
你有几个问题。一个是两个循环的迭代次数:
public void printNStars (int n)
{
n = IBIO.inputInt ("Enter a number for 'n': ");
for (int i = 0; i <= n; i++)
System.out.print ("*");
System.out.println ("");
}
这将输入一个数字并打印n+1
个星星。你可能意味着这样做:
public void printNStars (int n)
{
for (int i = 0; i < n; i++)
System.out.print ("*");
System.out.println ("");
}
第二个问题是你的其他循环中的分号:
for (int i = 0; i <= n; i++);
这会创建一个不执行任何操作的循环。输出语句也输出c
s,而不是传入的字符!
第二个功能应该是:
public void printNChars (int n, char c)
{
for (int i = 0; i < n; i++)
{
System.out.print (c);
}
System.out.println ("");
}