java控制台返回扫描器捕获的第一件事,而不转移到其他代码块
我正试图写一个非常简单的程序,它能捕捉到关于未来工作的一些关键信息,并将这些信息插入准备好的求职信中。正如您在我的代码中看到的,我已经导入了Java的scanner实用程序。当我在windows的cmd提示符下通过“Java”命令运行它时,第一个系统。出来println命令出现,I(用户)按提示输入。但是,控制台只输出我输入的内容,而不转到代码的其他部分。此外,正如您所看到的,控制台只输出我输入的任何内容的第一个字。 我是一个编程新手,有人能发现我遗漏了什么吗
我将在此处包括控制台的图像(代码如下):
Link to picture - Lack to reputation needed to edit in photos
查找下面的代码
import java.util.Scanner;
public class CoverLetter {
public static void main(String[] args) {
System.out.println("Welcome to tera_byteme's Simple Cover Letter Generator.");
// defines scanner "reader", prompts user to enter business name, stores that in a string var "bizName", closes reader
Scanner reader = new Scanner(System.in);
System.out.println("Please enter the business name.");
String bizName = reader.next();
reader.close();
//same as above block but asks for position title, stores in string var "posTitle"
System.out.println("Please enter position title.");
String posTitle = reader.next();
reader.close();
//"" but asks for user's name, stores in string var "userName"
System.out.println("Please enter your name.");
String userName = reader.next();
reader.close();
String seg1 = new String();
seg1 = "My name is " + userName + " and I am very interested in working for ";
String seg2 = new String();
seg2 = bizName + "as a " + posTitle;
String finalCut = new String();
finalCut = seg1 + seg2;
System.out.println("Here is your cover letter!");
System.out.println(finalCut);
}
}![enter image description here](https://i.stack.imgur.com/EqheW.jpg)
# 1 楼答案
您有两个问题:过早关闭扫描仪,使用next()而不是nextLine()。别忘了重新编译!我测试了这些修复,它对我有效。此代码:
给出以下输出: