如何在Java中读取多行输入

2024-02-22

我们的教授正在让我们用 Java 进行一些基本编程,他提供了一个网站以及用于注册和提交我们的问题的所有内容,因为今天我需要做这个示例,我觉得我走在正确的轨道上,但我就是做不到弄清楚剩下的事情。这是实际的问题:

**Sample Input:**
10 12
10 14
100 200

**Sample Output:**
2
4
100

这是我到目前为止所得到的:

public class Practice {

    public static int calculateAnswer(String a, String b) {
        return (Integer.parseInt(b) - Integer.parseInt(a));
    }

    public static void main(String[] args) {
        System.out.println(calculateAnswer(args[0], args[1]));
    }
}

现在我总能得到答案2因为我正在阅读单行,所以如何考虑所有行?谢谢

由于某种奇怪的原因,每次我想执行时都会收到此错误:

C:\sonic>java Practice.class 10 12
Exception in thread "main" java.lang.NoClassDefFoundError: Fact
Caused by: java.lang.ClassNotFoundException: Fact.class
        at java.net.URLClassLoader$1.run(URLClassLoader.java:20
        at java.security.AccessController.doPrivileged(Native M
        at java.net.URLClassLoader.findClass(URLClassLoader.jav
        at java.lang.ClassLoader.loadClass(ClassLoader.java:307
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248
Could not find the main class: Practice.class.  Program will exit.

无论我使用哪个版本的答案,我都会收到此错误,我该怎么办?

但是,如果我在 eclipse 中运行它“运行方式”>“运行配置”->“程序参数”

10 12
10 14
100 200

我没有得到任何输出

EDIT

我已经取得了一些进展,首先我收到编译错误,然后运行时错误,现在我得到错误的答案,所以任何人都可以帮助我这有什么问题吗:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;

public class Practice {

    public static BigInteger calculateAnswer(String a, String b) {
        BigInteger ab = new BigInteger(a);
        BigInteger bc = new BigInteger(b);
        return bc.subtract(ab);
    }

    public static void main(String[] args) throws IOException {
        BufferedReader stdin = new BufferedReader(new InputStreamReader(System.in)); 
        String line; 

        while ((line = stdin.readLine()) != null && line.length()!= 0) { 
            String[] input = line.split(" "); 
            if (input.length == 2) { 
                System.out.println(calculateAnswer(input[0], input[1])); 
            } 
        } 
    }
}

我终于明白了,提交了13次,无论什么原因被拒绝,第14次“法官”接受了我的答案,这里是:

import java.io.BufferedInputStream;
import java.util.Scanner;

public class HashmatWarrior {

    public static void main(String args[]) {
        Scanner stdin = new Scanner(new BufferedInputStream(System.in));
        while (stdin.hasNext()) {
            System.out.println(Math.abs(stdin.nextLong() - stdin.nextLong()));
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Java中读取多行输入 的相关文章

随机推荐