string 类输入
以Java为主体来看:
String[] s= new s[N]; //申请字符串数组
另外Java是不能直接读入char[]型的,但是与String类之间的转换很容易,详情见文末附录
再与c++比较一下
char s[N][N];
string str[N];
Java的字符串读入一般有两种
Scanner sc= new Scanner(System.in);
s[i]=sc.next();
s[i]=sc.nextLine();
next() :
相当于c++中的
scanf("%s",s[i]); //只能用来读char[]
cin>>s[i]; //俩都能读
next用于读入单个单词,以回车、制表、空格为结束标志
会自动吸收单词之前的回车、制表和空格
同时会自动回收结束符
不用管其它输入,无脑读入即可
但弊端在于无法读入空格
nextLine() :
相当于c++中的
getline(cin,str[i]) //只能用来读string
cin.getline(s[i],size); //只能用来读char[]
gets(s[i]); //只能用来读char[]
nextLine用于读入一整行
具体方法:找到当前缓冲区中的第一个回车符,然后返回读取这个回车符之前的所有内容
不会自动吸收缓冲区中的多余空格
但是会自动回收刚刚作为结束标志的那个回车符