【发布时间】:2020-09-16 00:55:46
【问题描述】:
我只是有一个小问题,在每个字符后输出一个连字符(包括下面代码中显示的三个点)
示例输入
2 (option #)
disappear (phrase)
预期输出:
d-i-s-a-p-p-e-a-r-.-.-.
d-i-s-a-p-p-e-a-.-.-.
d-i-s-a-p-p-e-.-.-.
d-i-s-a-p-p-.-.-.
d-i-s-a-p-.-.-.
d-i-s-a-.-.-.
d-i-s-.-.-.
d-i-.-.-.
d-.-.-.
.-.-.
.-.
.
在除最后一个点之外的每个字符后输出“-”
我得到了“-”在非常单词字符之后显示,但也无法弄清楚在点之后显示,就像它工作一样,但必须少一个连字符:
我的实际输出:
d-i-s-a-p-p-e-a-r-.-.-.-
d-i-s-a-p-p-e-a-.-.-.-
d-i-s-a-p-p-e-.-.-.-
d-i-s-a-p-p-.-.-.-
d-i-s-a-p-.-.-.-
d-i-s-a-.-.-.-
d-i-s-.-.-.-
d-i-.-.-.-
d-.-.-.-
.-.-.-
.-.-
.-
我已经部分完成了,我只需要少一个连字符,它会自动满足在最后一个点之后不显示连字符的要求。
代码:
else if (option == 2){
for (int x = 0; x < phrase.length(); x++){
for (int y = 0; y < phrase.length() - x; y++){
char n = phrase.charAt(y);
System.out.print(n+"-");
}
for (int a = 0; a < 3; a++){
System.out.print("."+"-");
}
System.out.println("");
}
for (int j = 0; j < 3; j++){
for (int i = 0; i < 3 - j; i++){
System.out.print("."+"-");
}
System.out.println("");
}
}
【问题讨论】:
-
你需要使用循环吗?否则获取 char 数组然后加入它会更简单,编写的代码更少
-
是的,只使用for循环,没有数组,或者java的任何内置方法
-
@HussainOmer "any" 内置方法将包括
System.out.println、String.charAt、String.length等,所有这些你都使用过。我想更好的说法是“不允许我在我的代码中没有使用的方法”?
标签: java loops for-loop nested-loops