黑马程序员技术交流社区
标题:
关于输入字符串是,空格的问题
[打印本页]
作者:
刘泰
时间:
2012-3-26 19:25
标题:
关于输入字符串是,空格的问题
在使用MyEclipse的时候,要求输入N行字符串。
如:class Number
{
public static void main(String args[])
{
Scanner input = new Scanner(System.in);
System.out.println("输入字符串的行数");
int N = input.nextInt();
String str = "";
for(int i = 0 ; i < N; i++)
{
str +=input.next();
}
System.out.println(str);
}
}
输入的格式为:
jij dkjdfj jkj,为什么在按回车键的时候,直接打印出来了,
我想是不是空格在输入的时候也是换行哈,如果不是,那应该怎么解释,还有,怎么样输入一行字符串的时候,空格也算是一个字符输入。比如:输入3行,输入格式为:
djkljddjfj djk dkjf (回车)
djdjkjfdsjfkdsjlfj&(&dkljf *&^lkds jf (回车)
3odndkjh (回车)
这样才是三行,怎么样解决空格的问题?
作者:
鲍亚坤
时间:
2012-3-26 20:32
本帖最后由 鲍亚坤 于 2012-3-26 20:42 编辑
import java.util.*;
class Number
{
public static void main(String args[]) throws Exception
{
Scanner input = new Scanner(System.in);
System.out.println("输入字符串的行数");
int N = input.nextInt();
String str = "";
for(int i = 0 ; i <= N; i++)
{
str +=input.nextLine();
}
System.out.println(str);
}
}
复制代码
你试试,我的。。
主要是str +=input.nextLine();这句话
作者:
H07000223
时间:
2012-3-26 20:32
Scanner不太会实现,用BufferedReader大致实现了。仅供参考
public class Number
{
public static void main(String args[]) throws Exception
{
System.out.println("输入字符串的行数");
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringBuffer buf=new StringBuffer();
String line="";
while(null!=(line=br.readLine()))
{
if(line.equals("exit"))
{
break;
}
buf.append(line);
buf.append("\n");
}
System.out.println(buf.toString());
}
}
复制代码
作者:
郑洋洋
时间:
2012-3-26 20:55
Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。然后可以使用不同的 next 方法将得到的标记转换为不同类型的值。
作者:
刘泰
时间:
2012-3-27 19:40
鲍亚坤 发表于 2012-3-26 20:32
你试试,我的。。
主要是str +=input.nextLine();这句话
嗯,用nextLine就可以做到了,谢谢
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2