2009-01-28 205 views
-1

我目前开始用Java编程。我试图在标题中将序列编码为Java输出,但我被卡住了!我正在尝试使用for函数,欢迎任何帮助;)如何在Java中输出序列'1 0 1 0 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 ...'?

+4

请发表您已经尝试的代码。不要忘记缩进四个空格,因此Stack Overflow会正确格式化它。 – 2009-01-28 23:49:53

+0

不是函数。 – ForYourOwnGood 2009-01-28 23:54:46

+1

挂起,它看起来有点像一个功能:-) – paxdiablo 2009-01-29 00:05:41

回答

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循环java”搜索,你会得到很多很好的例子。此外,要学习任何语言的基本知识,谷歌搜索“<语言> hello world”非常可靠。

0

或者你的老师是否问你? 两个嵌套for循环将做的伎俩。

或者在另一种语言(Ruby)的另一种方式:

4.times {|n| print 10**(n+1)} 
+0

我也想知道这是不是一个学校项目..... – Eddie 2009-01-28 23:50:29

4

您可以将数字10存储在一个变量中,然后在循环中打印该数字,将其乘以10(它将十进制表示附加零),然后重复。

0

这不是一个真正的问题,而是非常基本的算法思维。 您有一个由“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循环,并通过它增加舞台。

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 ")); 
20

为什么两个循环?

(转换从C#,赦免任何语法错误)

String s = "1 "; 
for (int i = 0; i < 5; ++i) 
{ 
    s = s + "0 "; 
    System.out.print(s); 
} 

自我批判:

  • 两个for循环(如迈克尔·哈伦的解决方案)将否定字符串复制
  • 一个StringBuffer/StringBuilder会否定字符串复制
-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); 
} 
相关问题