生命,宇宙和一切都破坏了java中的编译错误

时间:2015-07-10 09:46:27

标签: java

问题: 你的程序是使用蛮力方法来找到生命,宇宙和一切的答案。更确切地说......从输入到输出重写小数字。读取数字42后停止处理输入。输入的所有数字都是一位或两位数的整数。

import static java.lang.System.*;
import java.util.*;
public class Life 
{
    public static void main(String [] args)
    {
        Scanner input = new Scanner(in);
        int count;
        for(count=0;count>=0;count++)
        {
            int num=input.nextInt();
            if(num==42)
            {
                break;
            }
            else
            {
                out.println(num);
            }
        }
    }
}

在编译后给出相同的输出,但是说SPOJ中的编译错误可以让任何人知道这有什么问题。感谢。

2 个答案:

答案 0 :(得分:1)

您应该避免使用公共类。class Life将起作用

import static java.lang.System.*;
import java.util.*;
class Life 
{
    public static void main(String [] args)
    {
        Scanner input = new Scanner(in);
        int count;
        for(count=0;count>=0;count++)
        {
            int num=input.nextInt();
            if(num==42)
            {
                break;
            }
            else
            {
                out.println(num);
            }
        }
    }
}

答案 1 :(得分:1)

您的程序编译并运行良好,但不要打电话给您的班级Life,要求您使用名为Main的班级。

只有一个错误,你的for循环错误,因为你的控制变量可能会溢出,即使你没有输入“42”也会导致循环结束。使用*永不结束的“循环:

while (true) {
  …
}

for (;;) {
  …
}