Java 我需要帮助读取文本文件以打印到控制台
我很难弄明白它应该打印txt文件的内容,但我无法打印它 这是我应该得到的输出 成分-所需量-库存量 小苏打4.50小苏打4.00小苏打 糖(糖)(糖)(糖)(糖)(糖)6.50(糖)(糖)(糖)(糖)3.20Java 我需要帮助读取文本文件以打印到控制台,java,Java,我很难弄明白它应该打印txt文件的内容,但我无法打印它 这是我应该得到的输出 成分-所需量-库存量 小苏打4.50小苏打4.00小苏打 糖(糖)(糖)(糖)(糖)(糖)6.50(糖)(糖)(糖)(糖)3.20 import java.util.Scanner; import java.lang.*; import java.io.FileReader; import java.io.IOException; import java.io.*; public class Lab8b { pu
import java.util.Scanner;
import java.lang.*;
import java.io.FileReader;
import java.io.IOException;
import java.io.*;
public class Lab8b {
public static void main(String[] args) throws FileNotFoundException {
Scanner scan = new Scanner(System.in);
System.out.print("Enter file name : ");
String filename = scan.nextLine();
Scanner fileScan = new Scanner(new File(filename));
while (fileScan.hasNext()) {
String name = fileScan.nextLine();
String ingredientName = fileScan.nextLine();
double amountNeeded = Double.parseDouble(fileScan.nextLine());
double amountInStock = Double.parseDouble(fileScan.nextLine());
if (amountNeeded > amountInStock) {
System.out.printf("Ingredient \t Amount Needed \t Amount in Stock");
System.out.println();
System.out.printf("%10s", ingredientName);
System.out.printf("%8.2f", amountNeeded);
System.out.printf("%16.2f", amountInStock);
} //end if
if (amountNeeded <= amountInStock) {
System.out.println("Nothing");
} //end while
} //end if
} //end main
} //end class
import java.util.Scanner;
导入java.lang.*;
导入java.io.FileReader;
导入java.io.IOException;
导入java.io.*;
公共类Lab8b{
公共静态void main(字符串[]args)引发FileNotFoundException{
扫描仪扫描=新扫描仪(System.in);
System.out.print(“输入文件名:”);
字符串文件名=scan.nextLine();
Scanner fileScan=new Scanner(新文件(文件名));
while(fileScan.hasNext()){
String name=fileScan.nextLine();
String ingredientName=fileScan.nextLine();
double amountNeeded=double.parseDouble(fileScan.nextLine());
double-amountinstack=double.parseDouble(fileScan.nextLine());
如果(需要的数量>数量){
System.out.printf(“配料\t需要量\t库存量”);
System.out.println();
System.out.printf(“%10s”,IngreditName);
System.out.printf(“%8.2f”,所需数量);
System.out.printf(“%16.2f”,amountinstack);
}//如果结束,则结束
如果(amountNeeded以下是我在代码中发现的问题:
您创建了一个while
循环来读取文件的内容,但您不使用它做任何事情
需要将代码包装在try-catch中,因为可能会引发FileNotFoundException
您试图从filename
调用readLine()
,而不是fileScan
我假设您需要将amountNeeded
和amountnstock
作为双倍,即使您不使用它们进行任何计算。如果不是这样,您可以将它们作为字符串保留,而不是解析
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.print("Enter file name : ");
String filename = scan.nextLine();
scan.close();
Scanner fileScan = null;
try {
fileScan = new Scanner(new File(filename));
while (fileScan.hasNext()) {
String ingredientName = fileScan.nextLine();
double amountNeeded = Double.parseDouble(fileScan.nextLine());
double amountInStock = Double.parseDouble(fileScan.nextLine());
System.out.printf("Ingredient \t Amount Needed \t Amount in Stock\n");
System.out.printf("%10s", ingredientName);
System.out.printf("%8.2f", amountNeeded);
System.out.printf("%16.2f", amountInStock);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
请不要更正代码中的错误,因为这会迫使我定期更新我的答案。问题的目的是显示手头的问题。如果我的答案对您有帮助,如果您接受我的答案,我将不胜感激。请阅读:欢迎这样做!当您提出问题时,请尝试添加最低内容:输入样本,预期输出样本e、 你尝试了什么,研究了什么,你在哪里卡住了。你能给我们看一下你的输入(样本)看看哪里出了问题吗?你得到了什么错误?