一个名为printIndented()的方法,它接受一个String,一个整数和一个布尔值。该
整数表示空格中左边距的缩进大小,所以
方法应该先p
rint那很多空间。然后打印字符串。
然后,如果布尔值为true,则应打印换行符。所以,例如,
printIndented(3, "Hello", false)
会打印:
˽˽˽
Hello
...with no newline at the end.
我坚持这个。我的版本不完整:
int printIndented(int size, String word, boolean n) {
String spaces = ("");
print(spaces);
print(word);
if(n == true) println("");
else
if(n == false) print("");
return(size);
答案 0 :(得分:1)
这是我的版本:
void printIndented(int size, String word, boolean n)
{
print(StringUtils.repeat(" ", size));
print(word);
if(n)
println("");
}
我认为这个功能不需要返回任何东西。只返回size
参数就会告诉调用者没什么新内容。
您可以在 Apache Commons Lang 库中找到StringUtils
类。请参阅http://commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html。
如果没有StringUtils.repeat
,您可以将第一行替换为:
for(int i = 0; i < size; i++) print(" ");
答案 1 :(得分:1)
由于这是一项功课,我不会向您展示完整的解决方案,但我会尽力指导您。
您应该打印size
次空间,而不是这样做。相反,您一次打印""
(这不是空格)。
提示:
答案 2 :(得分:0)
更改
String spaces = ("");
到
String spaces = " ";
并在循环中创建print(spaces)
,以便打印空间等于整数size
。
for(int i=0;i<size;i++){
print(spaces);
}
答案 3 :(得分:0)
void printIndented(int i, String s, boolean b) {
for(int j = 0; j < i; j++){
System.out.print(", ");//Comma is to see how many spaces in output
}
System.out.print(s);
if(b){
System.out.println();
System.out.print("NewLine");//to see that new line was added
}
}
答案 4 :(得分:0)
循环? We don't need no stinkin' loops!
public void printIndented(int size, String word, boolean n) {
System.out.printf("%" + size + "s%s" + (n ? "%n" : ""), "", word);
}
* ducks *