Java 需要帮助阅读文本文件中的两位数吗
这是我目前项目的代码。我有任何数字10或以上,它读取每个数字,而不是整数。有什么帮助吗? 我使用的数字: 13 11 -1-5 5.3 45 45 1001001100 1001001100Java 需要帮助阅读文本文件中的两位数吗,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
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
=