CodeChef-如何读取输入文件

时间:2013-12-12 17:01:49

标签: java

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

输入: 1 2 88 42 99

输出: 1 2 88

它说输入来自标准输入。我正在使用Java。我知道怎么做,如果说我有数组中的整数。我只是不明白如何从CodeChef接收输入。

3 个答案:

答案 0 :(得分:2)

您需要一个读者和作家类。简单的是ScannerPrintWriter。你需要一个File对象

File inFile = new File("infilepath.txt");
File outFile = new File("outfilepath.txt");

Scanner scanner = new Scanner(inFile);
PrintWriter out = new PrintWriter(outFile);

while (scanner.hasNext()){
    1. read input
    2. check if input is = to 42; if so, break
    3. if not print to outFile
}

请记住抛出异常或try/catch

修改

Scanner scanner = new Scanner(System.in);

while (scanner.hasNextInt()){
   // do something
}

答案 1 :(得分:0)

在C

int n=0;
while (1 == scanf("%d\n", &n)){
    if(n==42){
        break;
    }else{
        printf("%d\n",n);
    }
}

答案 2 :(得分:-1)

没有必要使任何事情复杂化。请记住,正如FAQ部分所说,不应该有任何陈述,如“输入你的号码”或类似的东西。 您可以使用任何东西从它接收输入, BufferedReader或Scanner都可以正常工作。让我告诉你问题的答案 -

import java.util.Scanner;
class Main {
    public static void main (String[]args) {
        int n;
        Scanner s = new Scanner(System.in);
        while (true) {
            n = s.nextInt();
            if (n!=42)
                System.out.println(n);
            else
                break;
        }
    }
}