gpt4 book ai didi

java - 为什么我在循环中的第一个 .nextline 被跳过然后下一次没有跳过?以及如何阻止它覆盖?

转载 作者:行者123 更新时间:2023-11-30 11:48:11 26 4
gpt4 key购买 nike

<分区>

我需要创建一个基本程序来将文本输入到 .txt 文档,所以我创建了这个程序,但我不明白为什么在程序首次运行时会跳过第一个问题。

如果设置循环的第一个问题不存在,则不会发生。另外,当我想让它做的只是添加到其中时,如何阻止它覆盖 txt 文档中已有的内容。

到目前为止,最后一种方法似乎行之有效,但我认为我仍会包括它。

package productfile;
import java.io.*;
import java.util.Scanner;

/**
*
* @author Mp
*/
public class Products {

public void inputDetails(){
int i=0;
int count=0;
String name;
String description;
String price;

Scanner sc = new Scanner(System.in);

System.out.println("How many products would you like to enter?");
count = sc.nextInt();

do{
try{

FileWriter fw = new FileWriter("c:/Users/Mp/test.txt");
PrintWriter pw = new PrintWriter (fw);

System.out.println("Please enter the product name.");
name = sc.nextLine();
pw.println("Product name: " + name );

System.out.println("Please enter the product description.");
description = sc.nextLine();
pw.println("Product description: " + description );

System.out.println("Please enter the product price.");
price = sc.nextLine();
pw.println("Product price: " + price );

pw.flush();
pw.close();

i++;

}catch (IOException e){
System.err.println("We have had an input/output error:");
System.err.println(e.getMessage());
}
} while (i<count);
}

public void display(){
String textLine;
try{

FileReader fr = new FileReader("c:/Users/Mp/test.txt");
BufferedReader br = new BufferedReader(fr);
do{
textLine = br.readLine();
if (textLine == null){
return;
} else {
System.out.println(textLine);
}
} while (textLine != null);
}catch(IOException e){
System.err.println("We have had an input/output error:");
System.err.println(e.getMessage());
}
}
}

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com