我正在使用 for 循环生成一系列数字,用空格分隔,但我想最后删除尾随空格。无法将 trim() 用于输出。 import java.util.*;public class Main { public static void main(String [] args){ Scanner s = new Scanner(System.in); int str = s.nextInt(); for(int i=1; i<=str; i++) { System.out.printf("%d", i); System.out.print(" "); } }}1 2 3 4 5(此处留空)但我想要 5 之后没有空格的输出。
3 回答
偶然的你
TA贡献1841条经验 获得超3个赞
int i;
for(i = 1; i < str.length(); i++) {
System.out.print(i + " ");
}
System.out.println(i);
拉莫斯之舞
TA贡献1820条经验 获得超10个赞
像这样在 for 循环中做一个 if 测试
if (i == str) {
System.out.printf("%d", i);
} else {
System.out.printf("%d", i);
System.out.print(" ");
}
函数式编程
TA贡献1807条经验 获得超9个赞
您想要的逻辑是在除最后一个数字之外的每个数字后面打印一个空格。你的代码中应该有这个条件逻辑。喜欢,
if (i < str)
System.out.print(" ");
str注意:如果变量包含数字,调用它会很混乱;每个人都会假设它是一个字符串而不是数字。您可以将代码更改为如下所示:
public static void main(String [] args){
Scanner s = new Scanner(System.in);
int n = s.nextInt();
for(int i = 1; i <= n; i++) {
System.out.print(i);
if (i < n)
System.out.print(" ");
}
}
添加回答
举报
0/150
提交
取消