Java 需要帮助阅读文本文件中的两位数吗

Java 需要帮助阅读文本文件中的两位数吗,java,Java,这是我目前项目的代码。我有任何数字10或以上,它读取每个数字,而不是整数。有什么帮助吗? 我使用的数字: 13 11 -1-5 5.3 45 45 1001001100 1001001100 import java.util.Scanner; 导入java.io.*; 导入java.io.PrintWriter; 公共阶级比较{ 公共静态void main(字符串[]args)引发IOException{ 扫描仪读取器=新扫描仪(新 文件(“H:\\NetBeansProjects\\Unit1

这是我目前项目的代码。我有任何数字10或以上,它读取每个数字,而不是整数。有什么帮助吗? 我使用的数字:

13

11

-1-5

5.3

45 45

1001001100 1001001100

import java.util.Scanner;
导入java.io.*;
导入java.io.PrintWriter;
公共阶级比较{
公共静态void main(字符串[]args)引发IOException{
扫描仪读取器=新扫描仪(新
文件(“H:\\NetBeansProjects\\Unit1\\comparison.txt”);
try(PrintWriter=newprintWriter(“Results.txt”)){
while(reader.hasNext()){
double first=reader.nextDouble();
double second=reader.nextDouble();

如果(首先你能做的是将每一行用空格分开,然后将每个元素解析为一个完整的整数。类似于:

String[] ints = reader.nextLine().split(' ');
double first = Double.parseDouble(ints[0]);
double second = Double.parseDouble(ints[1]);
基本上,这就是取下一行,创建一个数组,其中每个元素被一个空格分割,然后尝试将空格前后的字符串作为单独的双倍处理。

import java.io.File;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class comparison_rylan_howard {
    public static void main(String[] args) throws IOException {
        Scanner reader = new Scanner(new
                File("H:\\NetBeansProjects\\Unit1\\comparison.txt"));
        try (PrintWriter writer = new PrintWriter("Results.txt")) {

            while (reader.hasNext()) {

                double first = reader.nextDouble();
                double second = reader.nextDouble();
                writer.println(first+","+second );
                if (first <= -1 || second <= -1) {
                    writer.println("Error");
                    writer.println("");
                }
                else if (first > second) {
                    writer.println(">");
                    writer.println("");
                }
                else if (first < second) {
                    writer.println("<");
                    writer.println("");
                } else {
                    writer.println("=");
                    writer.println("");
                }
            }
        }
    }
}
导入java.io.IOException; 导入java.io.PrintWriter; 导入java.util.Scanner; 公共阶级比较{ 公共静态void main(字符串[]args)引发IOException{ 扫描仪读取器=新扫描仪(新 文件(“H:\\NetBeansProjects\\Unit1\\comparison.txt”); try(PrintWriter=newprintWriter(“Results.txt”)){ while(reader.hasNext()){ double first=reader.nextDouble(); double second=reader.nextDouble(); writer.println(第一个+”,“+第二个); 如果(首先) 45.0,45.0 = 1.0011E9,1.0011E9 =
你在哪里需要帮助?程序应该做什么?它是如何失败的?程序会比较两个正数,以说明哪一个更大或是否相等。除了读取每个数字外,一切正常,例如1,0,0,1,0,0,0,1,1,0,0,而不是1001100。我不认为
第一个>第二个
或是负数e number cases可以正常工作,因为除了
或“error”之外,您正在为它们编写一个等号或一个额外的比较结果。您应该在
if-else if-else
块中拥有整个比较逻辑。您更改了什么?@RylanHoward是您想要的输出是的,非常感谢您的帮助,如果您能解释我做错了什么,这样我就可以知道这会有帮助much@RylanHoward我添加了writer.println(第一个+”,“+第二个);所以可以在输出文件中看到数字,如果不需要,可以将其删除,如果不需要,则使用
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Scanner;

public class comparison_rylan_howard {
    public static void main(String[] args) throws IOException {
        Scanner reader = new Scanner(new
                File("H:\\NetBeansProjects\\Unit1\\comparison.txt"));
        try (PrintWriter writer = new PrintWriter("Results.txt")) {

            while (reader.hasNext()) {

                double first = reader.nextDouble();
                double second = reader.nextDouble();
                writer.println(first+","+second );
                if (first <= -1 || second <= -1) {
                    writer.println("Error");
                    writer.println("");
                }
                else if (first > second) {
                    writer.println(">");
                    writer.println("");
                }
                else if (first < second) {
                    writer.println("<");
                    writer.println("");
                } else {
                    writer.println("=");
                    writer.println("");
                }
            }
        }
    }
}
1.0,3.0
<

1.0,1.0
=

-1.0,-5.0
Error

5.0,3.0
>

45.0,45.0
=

1.0010011E9,1.0010011E9
=