返回类型为void,两个输入参数分别为int,char。我正在使用while循环,因为我想用while循环解决这个问题,并且方法基本上会像梯子一样打印出来。示例:drawL(6,'@')将打印
@
@@
null
@@@@
@@@@@
@@@@@@
但是没有这些空隙,所以它会变得平滑。我想出了这段代码,但问题是,如果我输入5,4,7,任何数字,然后6,它不会打印出那么多的字符,所以如果它是4,'@',那么它仍然会打印出上面的那么多@。
public void drawL(int g, char h){
int i = 1;
while (i <= g){
i += 1;
if(i == g){
System.out.println(h);
System.out.println(h+""+h);
System.out.println(h+""+h+""+h);
System.out.println(h+""+h+""+h+""+h);
System.out.println(h+""+h+""+h+""+h+""+h);
}
}
}
您可以使用for-loop
s来解决此问题:
public class Main {
public static void main(String[] args) {
drawL(4,'@');
System.out.println();
drawL(5,'@');
}
public static void drawL(int g, char h){
for(int i = 0; i < g; i++) {
for(int j = 0; j < i+1; j++) {
System.out.print(h);
}
System.out.println();
}
}
}
输出:
@
@@
@@@
@@@@
@
@@
@@@
@@@@
@@@@@
您可能应该在这里使用嵌套的双循环。外部循环将控制行,内部循环将控制打印多少字符。
public static void drawL(int g, char h) {
for (int i=0; i < g; ++i) {
for (int j=0; j <= i; ++j) {
System.out.print(h);
}
System.out.println();
}
}
public static void main(String[] args) {
drawL(6, '@');
}
上述对drawl()
调用的输出如下:
@
@@
@@@
@@@@
@@@@@
@@@@@@
如果您坚持使用while循环,可以这样做:
class Main {
public static void drawL(int n) {
int i = 1;
while (i <= n) {
int j = 1;
while(j <= i) {
System.out.print('@');
j += 1;
}
i += 1;
System.out.println();
}
}
public static void main(String[] args) {
drawL(6);
}
}
使用Java 8
流
库的drawl()
的替代实现。
import java.util.stream.IntStream;
public static void drawL(int n) {
IntStream.rangeClosed(1, n).forEach(i -> {
IntStream.rangeClosed(1, i).forEach(j ->
System.out.print('@'));
System.out.println();
});
}
输出:
@
@@
@@@
@@@@
@@@@@
@@@@@@
我试图在bash中使用cat生成一个文件,在bash中,我已经运行了一个脚本,我保存到一个变量中,然后将在cat中使用。为了运行脚本并将输出保存到变量,我使用了以下方法: 接下来,我将展示一个cat文件的摘录,其中使用了变量RESULT。 运行bash后,我得到的是变量RESULT的正确输出。但是,文件开头有一个单词echo(如下所示)。这是有问题的,因为我试图自动化代码,添加echo这个词会破坏
问题内容: 如何在Java用户输入中打印出单个单词?示例:用户输入:“我们爱妈妈,她是最好的”。该程序假设打印“妈妈”,因为第一个字符和最后一个字符相同。我的代码最后没有显示任何内容。这是我的代码: 问题答案: 无需解析字符串的每个字母,您可以将输入拆分成单词数组并分别检查每个单词。 您可以保持循环,但只需要检查是否与处的循环相同 这是一个工作示例。请注意,我已经删除了扫描仪部件,以使其在我正在使
本文向大家介绍打印给定字符串的所有排列,包括了打印给定字符串的所有排列的使用技巧和注意事项,需要的朋友参考一下 打印给定字符串的所有排列是回溯问题的一个示例。我们将减小子字符串的大小以解决子问题,然后再次回溯以从该部分获得另一个排列。 例如,如果字符串是ABC,则所有排列将是ABC,ACB,BAC,BCA,CAB,CBA。 该算法的复杂度为O(n!)。这是一个巨大的复杂性。当字符串大小增加时,需要
打印出小于给定数N的素数。对于奖励积分,您的解决方案应该在时间或更好的时间内运行。你可以假设N总是一个正整数。 输入样本: 程序应该接受文件名的路径作为其第一个参数。该文件中的每一行都是一个测试用例。每个测试用例将包含一个整数
下面的代码运行良好。它根据LinkedIn上的列表收集信息。 (提供帐户信息并免费使用,因为它是测试帐户) 但是,输出连接数据,而不是每个字段都有自己的字段。
问题内容: 我在Python中有一个列表 我想在没有正常的“ []的情况下在单行中打印数组 将给出的输出为; 那不是我想要的格式,而是我希望它像这样; 注意:它必须在一行中。 问题答案: 听起来很简单,它只接受列表中的所有元素,然后将它们加入。
问题内容: 我需要一个程序的帮助,该程序可以识别句子中的各个单词,将它们存储在列表中,并用该单词在列表中的位置替换原始句子中的每个单词。这是我到目前为止所拥有的。 例如: 将重新创建为1,2,3,4,5,6,7,8,9,1,3,9,6,7,8,4,5 我设法确定了列表中的各个单词,但是我研究了如何用各个单词的位置替换原始列表中的单词。 问题答案: 您还可以创建一个字典,将单词和单词的初始位置映射在
问题内容: 我有以以下格式(示例)保存的数据(数字): 是否有任何python-way方法来排列数字并将其作为 (我无法预测列的大小)。 问题答案: 这是一个简单的独立示例,显示了如何设置可变列宽的格式: 输出: