在这个片段中,我正在做的是采用三种不同类型的变量并添加它们然后再打印下来。
public static void main(String[] args) {
int i = 4;
double d = 4.0;
String s = "HackerRank ";
Scanner scan = new Scanner(System.in);
int firstVariable = 0;
double secondVariable = 0.0;
String theString = "";
firstVariable = scan.nextInt();
secondVariable = scan.nextDouble();
theString = scan.nextLine();
System.out.println(firstVariable+i);
System.out.println(secondVariable+d);
System.out.println(s+""+theString);
}
我正在为firstVariable
提供输入,然后输入secondVariable
,然后在我点击后输入theString正在捕获该值(我知道它应该捕获它)。
编辑:在这种情况下,我应该如何提供theString
的输入,而不是空间?
我确实尝试过这样的事情,
while(scan.hasNext())
theString = scan.nextLine();
但它也没有用。
答案 0 :(得分:3)
只需检查scan.nextLine()
为空,如果是,请再次呼叫secondVariable = scan.nextDouble();
theString = scan.nextLine().trim();
if (theString.isEmpty()) {
theString = scan.nextLine();
}
:
pattern
使用firstVariable = scan.nextInt();
secondVariable = scan.nextDouble();
theString = scan.next("\\w+");
:
{{1}}
答案 1 :(得分:1)
有两种方法可以解决您的问题:
第一个是使用
int firstVariable = scan.nextInt();
scan.nextLine();
double secondVariable = scan.nextDouble();
scan.nextLine();
String theString = scan.nextLine();
每次从用户那里读到这样的内容:
int firstVariable = Integer.parseInt(scan.nextLine());
Double secondVariable = Double.parseDouble(scan.nextLine());
String theString = scan.nextLine();
第二个是解析nextLine()中的整数和double值,如下所示:
jQuery('.latest_post_text_inner').each(function(){
var _linkUrl = jQuery(this).find('.latest_post_title a').attr('href');
jQuery(this).find('.post_infos').text(_linkUrl);
});
答案 2 :(得分:0)
您需要在String theString之前添加额外的scan.nextLine();
,以便在double之后捕获Enter。像这样:
firstVariable = scan.nextInt();
secondVariable = scan.nextDouble();
scan.nextLine();
theString = scan.nextLine();
就像减少代码的建议一样,没有必要添加这些:
int firstVariable = 0;
double secondVariable = 0.0;
String theString = "";
只需将类型添加到变量以捕获扫描:
int firstVariable = scan.nextInt();
double secondVariable = scan.nextDouble();
scan.nextLine();
String theString = scan.nextLine();