gpt4 book ai didi

java - 多加一个变量,程序无法运行

转载 作者:行者123 更新时间:2023-12-01 09:53:21 25 4
gpt4 key购买 nike

我的任务是创建一个程序,要求用户输入年份、名字和姓氏。然后,它获取年份的最后 2 个数字、整个姓氏和名字的第一个字母,并将它们格式化为电子邮件,如下所示:16SmithJ@mymail.co.uk。它将这封电子邮件放入文本文件中,不需要打印。最后,它询问用户是否希望再次重复该过程以制作新电子邮件。

这是我的程序,尚未完全完成。我已经让它工作了,但是当我去实现如果需要的话重复它的部分时,电子邮件不再在文件中创建:

public static void main(String[] args) throws IOException {
PrintWriter pw = new PrintWriter (new FileWriter("7D_mail.txt"));
boolean done = false;
while (done==false){
Scanner kb = new Scanner (System.in);
System.out.print ("Enter the year (e.g 2016) > ");
String year = kb.nextLine();
System.out.print ("Enter your first name > ");
String fname = kb.nextLine();
System.out.print ("Enter your last name > ");
String lname = kb.nextLine();
pw.write (year.substring(2)+lname+fname.charAt(0)+"@mymail.co.uk");
System.out.print ("*** Email created - another one? (Y/N)");

pw.close();
}


}

上面的程序可以工作,但是如果我在最后一行之后添加一行(String answer = kb.nextLine();),为答案创建一个新字符串,它就不再有效作品。

public static void main(String[] args) throws IOException {
PrintWriter pw = new PrintWriter (new FileWriter("7D_mail.txt"));
boolean done = false;
while (done==false){
Scanner kb = new Scanner (System.in);
System.out.print ("Enter the year (e.g 2016) > ");
String year = kb.nextLine();
System.out.print ("Enter your first name > ");
String fname = kb.nextLine();
System.out.print ("Enter your last name > ");
String lname = kb.nextLine();
pw.write (year.substring(2)+lname+fname.charAt(0)+"@mymail.co.uk");
System.out.print ("*** Email created - another one? (Y/N)");
String answer = kb.nextLine();

pw.close();
}


}

知道为什么这不起作用吗?谢谢

最佳答案

我不认为它停止工作。在获取用户的响应后,您无条件地将“done”设置为 true,因此它退出。将“done = true”包装在一个条件中,检查“answer”的值为“Y”。

关于java - 多加一个变量,程序无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37445037/

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