这是我的Java代码:
import java.util.*;
public class solution{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
for(int i=0;i<3;i++) {
String s=sc.nextLine();
System.out.println(s);
}
}
}
当我提供此输入时:
rohan
kumar
sharma
我希望输出为:
rohan
kumar
sharma
rohan
kumar
sharma
我得到的实际输出是:
rohan
kumar
rohan
kumar
sharma
请注意,在我按下输入按钮之前,输出中的最后一个sharma
才会显示。
问题
如何更改代码以获得所需的输出?
答案 0 :(得分:3)
您可以将扫描的字符串附加到StringBuilder
,最后,您可以将其打印如下:
Scanner sc=new Scanner(System.in);
StringBuilder sb = new StringBuilder();
for(int i=0;i<3;i++){
String s=sc.next();
sb.append(s+"\n");
}
System.out.println(sb.toString());
如果您不想在每次新输入后按ENTER键,请使用sc.next()
。
现在,如果您将Rohan kumar sharma
复制并粘贴到终端,则o / p将为:
Rohan kumar sharma 罗汉
库马尔
夏尔马
修改强>
或者您可以将输出字符串存储在一个字符串中,最后您可以拆分字符串并打印所需的输出,如下所示:
Scanner sc=new Scanner(System.in);
String str="";
for(int i=0;i<3;i++){
String s=sc.next();
str = str + s; //append to a string instead of string buffer.
}
String a[] = str.split(" ");
for(int i=0;i<a.length;i++){
System.out.println(a[i]);
}
修改强>
如果您也不想使用str.split()
,请同时添加\n
。请尝试以下方法:
Scanner sc=new Scanner(System.in);
String str="";
for(int i=0;i<3;i++){
String s=sc.next();
str = str + s+"\n"; //Just string instead of string buffer.
}
System.out.println(str);
答案 1 :(得分:1)
这里,sc.nextLine()从输入读取整行。因此,您可以逐行从控制台读取数据,并将它们存储在数组中,以后可以使用它们。
import java.util.*;
public class Condition{
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
String[] strings = new String[3];
for(int i=0;i<3;i++) {
String s=sc.nextLine();
// System.out.println(s);
strings[i]=s;
}
for (String string : strings) {
System.out.println(string);
}
}
}
答案 2 :(得分:0)
您应该将LF字符附加到最后一个输入行(sharma)。
当从输入获取LF char时,Scanner.nextLine()返回,如果你错过了最后一个LF char,则scan.nextLine()将等待行结束,即使它已经获得了整行#s;内容。
答案 3 :(得分:-2)
$json = '{
"cat":{
"id":"1234567",
"source_id":null,
"title_en":"first season",
"description_en":"This is spring category "
},
"videos":[
{
"id":"312412343",
"url":"\/2015-07-17\/1abcd.mp4",
"img":"image\/44\/\/2015-07-17\/1abcd.jpg",
"description1":"some text for description here",
"description2":"some text for description here2",
"title":"first title here"
},
{
"id":"2342343",
"url":"\/2015-07-16\/2dcdeg.mp4",
"img":"images\/44\/\/2015-07-16\/2dcdeg.jpg",
"description1":"some other text here" for description ",
"description2":"some other text here" for description2 ",
"title":"second title here"
}
]
}';
$json = preg_replace('/(description\d+":)"(.*)"/', '$1"empty"', $json);
echo '<pre>' . $json . '</code>';
$json = json_decode($json, true);
var_dump($json);