我目前正在开始使用 Java 进行编程。我试图将标题中的序列编码为 Java 中的输出,但我被卡住了!我正在试验 for 功能,欢迎任何帮助;)
问问题
3694 次
7 回答
23
System.out.println("1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0");
但说真的,伙计们,这是未经测试的第一关:
for(int i=1; i<100; i++){
System.out.print("1 ");
for(int j=0; j<i; j++){
System.out.print("0 ");
}
}
如果您正在寻找有关如何开始的基本信息,Google 是您的朋友。例如,尝试用谷歌搜索“for loop java”,你会得到很多很好的例子。此外,要学习任何语言的基本知识,谷歌搜索“<language> hello world”是非常可靠的。
于 2009-01-28T23:50:09.203 回答
20
为什么是两个循环?
(从 C# 转换而来,请原谅任何语法错误)
String s = "1 ";
for (int i = 0; i < 5; ++i)
{
s = s + "0 ";
System.out.print(s);
}
自我批评:
- 两个 for 循环(如 Michael Haren 的解决方案)将否定字符串复制
- StringBuffer/StringBuilder 将否定字符串复制
于 2009-01-29T00:10:28.960 回答
4
您可以将数字 10 存储在变量中,然后在循环中打印该数字,将其乘以 10(在其十进制表示后附加一个零),然后重复。
于 2009-01-28T23:56:07.570 回答
3
for (int i = 2; i < 64; i <<= 1)
//System.out.print(Integer.toString(i, 2));
System.out.print(Integer.toString(i, 2).replaceAll("[01]", "$0 "));
于 2009-01-29T00:05:56.817 回答
0
还是你的老师要求你做的?两个嵌套的 for 循环就可以了。
或者以另一种语言(Ruby)的另一种方式:
4.times {|n| print 10**(n+1)}
于 2009-01-28T23:49:03.980 回答
0
这不是真正的 fors 问题,而是非常基本的算法思维问题。你有一个由“1”组成的序列,然后是随着时间增长的其他东西“,另一个“1”,另一个东西等等。你可以将它们视为两个不同的交错序列。
因此,整体结构将类似于:
while(... infinity?)
{
System.out.print("1");
doSomething();
}
现在,某些东西显然与外部循环的迭代次数(“阶段”)或 1 的计数相关,因此您需要类似:
int stage=0;
while(...infinity?)
{
++stage;
System.out.print("1");
for(int i=0; i<stage; ++i) System.out.print("0");
}
如果您知道需要经过多少个循环,请使用 for 循环而不是 while,并通过它增加阶段。
于 2009-01-28T23:58:00.170 回答
-1
for (int i = 1; i < 100000;)
{
i = i * 10;
System.out.print(i);
}
或者
int i = 1;
while (i < 100000)
{
i = i * 10;
System.out.print(i);
}
于 2010-11-16T02:26:01.310 回答