【问题标题】:Printing 1 to 100 without using loops or condition in java [closed]在java中不使用循环或条件打印1到100 [关闭]
【发布时间】:2015-04-11 11:36:57
【问题描述】:

我想在不使用循环的情况下显示 1 到 100。 我已经尝试将 1-100 存储在数组中,但它也需要使用循环。

【问题讨论】:

  • 显示您尝试过的内容。
  • 恕我直言。这完全没有意义。您将需要至少一个“条件检查”来查看值是否为 100。
  • 这里的关键是递归(试试看)。但正如 TheLostMind 所说,您至少需要一个条件检查。
  • System.out.println("1");System.out.println("2");System.out.println("3");...System.out.println("99");System.out.println("100");
  • @Pallav 你可以写100条System.out.println()语句

标签: java


【解决方案1】:

试试这个(Java 8

IntStream.range(1, 100).forEach(n -> { System.out.println(n); });

但是,range()forEach()实现使用循环,因此,解决方案可能处于作弊的边缘

如果你认为上面的代码是作弊,你可以模拟循环,比如说,recursion

private static void printIt(int n) {
  System.out.println(n);

  if (n < 100)
    printIt(n + 1);
}

...

printIt(1);

【讨论】:

  • 您正在使用循环。 OP 要求不使用循环的解决方案。
  • 但是forEach...我的意思是...从技术上讲...它仍然是一个循环;D
  • Eh... 从技术上讲,forEach 本身并不是一个 循环,它是一个使用循环的 方法。 . 实际上,range() 也应该使用循环。所以解决办法就在作弊的边缘
【解决方案2】:

像这样使用 toString() 方法:

System.out.println(array.toString());

它将数组转换为:

[1,2,3,4...]

http://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html#toString(java.lang.Object[])

【讨论】:

  • 但是你需要一个循环来填充数组。
  • 你可以像这样初始化数组:int[] array = {1,2,3,4,5...}
  • 比你还写100个System.out.println()语句。
  • 可以,但是会更短
  • 如果你想简短,你可以使用System.out.println("1,2,3,4,5...");
【解决方案3】:

试试这个,

import java.util.Arrays;

代码

int[] array = new int[] { 1, 2, 3, ... , 100 };
System.out.println(Arrays.toString(array));

输出:

[1, 2, 3, 4, ... , 100]

Java.util.Arrays.toString(int[ ]) Method

【讨论】:

  • 如果要在不使用任何循环和条件的情况下打印值,则必须声明一个包含 100 个值的数组。
【解决方案4】:

你从来没有说过它只需要打印一次或者程序必须成功终止:

public static void main(String args[])
{
    print(0);
}

private static void print(int i)
{
    System.out.println((i % 100) + 1);
    print(i+1);
}

【讨论】:

    【解决方案5】:

    试试下面的代码

     public static void main(String[] args) {
        int[] i = {1,10,50};
        System.out.println(Arrays.toString(i));
      }
    

    【讨论】:

      【解决方案6】:
      public static void main(String[] args) {
          print(100);
      }
      
      private static void print(int n) {
          if(n > 1) {
              print(n-1);
          }
          System.out.println(n);
      }
      

      【讨论】:

        猜你喜欢
        • 2011-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-07
        • 2018-12-19
        • 2022-11-19
        • 1970-01-01
        相关资源
        最近更新 更多