请问在java中如何识别一个“空格”? 你可以去arg数组啊for(int i=0;i<=3;i++) arraystr[i]=args[i]; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对不起,我是一个初学者,对于你第一次回答的是什么意思?能否清楚的说明一下;另外,我是想通过转义字符来进行识别一个“空格”,请问如何实现。例如我希望以这种方式进行输入“good morning good night”然后回车,程序进行赋值,然后显示结果。 一次输入4个String 中间用空格隔开,使用StringTokenizer解析: StringTokenizer token = new StringTokenizer(inputStr," "); while(token.hasMoreElements()){ String tempStr = (String)token.nextElement(); }也可以使用代参数的main方法 如果直接作为参数,问题比较简单:命令行方式 java ShowArray aa bb cc dd这种方式代码是:public class ShowArray{public static void main(String args[]){for(int i=0;i<args.length;i++){System.out.println(args[i]);}}}如果按你说的提示后等待键盘输入,可以把整个输入作为一个字符串,然后用split()方法:public class ShowArray{public static void main(String args[]){String inputStr="";System.out.println("请输入四个字符串(以空格分隔,回车结束输入):");try{while((char)(System.in.read())!='\r'){inputStr+=(char)(System.in.read());}String str[]=inputStr.split(" ");for(int i=0;i<str.length;i++){System.out.println(str[i]);}}catch(IOException ioe){System.out.println("IO Exception! ");}}}不知道是否是这个意思? StringTokenizer sr=new StringTokenizer("qm 18 of java"," ",false); 奇怪~~~你的理解有问题,为什么把空格看的这么特殊呢?最好用BufferedRead来接受输入字符import java.io.*;public class ShowArray { public static void main(String[] args) { String s = ""; try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); s = in.readLine(); in.close; System.out.println(s); } catch (Exception e) { System.out.println(e); } }}这段程序就可以满足你的要求了,不过最好是把代码写到main外的方法中,我现在没法调试,你将就着看吧如果要存在数组中用BufferedRead也比Read好,具体看看BufferedRead的说明吧,最后输出的时候也就是(存成数组方式)for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " ");} macoff(天堂)的方法可以楼上的你也可以试试我的意思的直接把输入的参数赋给数组arraystr那个args其实就是你传的参数你可以这样运行程序 java classname arg[0] arg[1] arg[2]..... 我参考各位的意见,修改程序如下:import java.util.*;public class ShowArray3 { public static String readline() { int ch; String str=""; boolean done=false; while(!done) { try { ch=System.in.read(); if(ch<0 || (char)ch=='\n') done=true; else if((char)ch != '\r') str=str+(char)ch; } catch(java.io.IOException e) { done=true; } } return str; } public static void main (String [] args) { System.out.println("请输入四个字符串,中间以空格分割,结束使用回车:"); String arraystr[] = new String [4]; String tempStr=readline(); StringTokenizer st = new StringTokenizer(tempStr); while(st.hasMoreTokens()) { for(int i=0;i<=3;i++) { arraystr[i]=st.nextToken(); System.out.println("Array:" + arraystr[i]); } } for(int j=0;j<arraystr.length;j++) { if(j != arraystr.length-1) { System.out.print(arraystr[j]+">"); }else{ System.out.println(arraystr[j]); } } }}请各位再看该程序,看是否有可以进行简化的部分,谢谢! 还有一个,也请看看:import java.io.*;import java.util.*;public class ShowArray2 { public static String readline() { String s = ""; try { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); s = in.readLine(); //in.close; //System.out.println(s); } catch (Exception e) { System.out.println(e); } return s; } public static void main (String [] args) { System.out.println("请输入四个字符串,中间以空格分割,结束使用回车:"); String arraystr[] = new String [4]; String tempStr=readline(); StringTokenizer st = new StringTokenizer(tempStr); while(st.hasMoreTokens()) { for(int i=0;i<=3;i++) { arraystr[i]=st.nextToken(); System.out.println("Array:" + arraystr[i]); } } for(int j=0;j<arraystr.length;j++) { if(j != arraystr.length-1) { System.out.print(arraystr[j]+">"); }else{ System.out.println(arraystr[j]); } } }} SOS java里面这样的工具吗 【讨论】多重new object的问题 求一个算法问题,实现对长整型数据的分割,分割成两个整型,前32位和后32位! 如何远程调用EJB? Help! 在j2sdk1.4.0中编译时出现的小问题,请教,在线等您! 想知道java如何生成exe文件,急 Java 里有类似于预编译的指令或者方法吗? 为什么用IE显示不出来?是我的浏览器的问题么? 请问java里有像C++一样的cin和cout用于输出吗? java和c的通讯问题
StringTokenizer token = new StringTokenizer(inputStr," ");
while(token.hasMoreElements()){
String tempStr = (String)token.nextElement();
}也可以使用代参数的main方法
命令行方式 java ShowArray aa bb cc dd
这种方式代码是:
public class ShowArray{
public static void main(String args[]){
for(int i=0;i<args.length;i++){
System.out.println(args[i]);
}
}
}
如果按你说的提示后等待键盘输入,可以把整个输入作为一个字符串,然后用split()方法:
public class ShowArray{
public static void main(String args[]){
String inputStr="";
System.out.println("请输入四个字符串(以空格分隔,回车结束输入):");
try{
while((char)(System.in.read())!='\r'){
inputStr+=(char)(System.in.read());
}
String str[]=inputStr.split(" ");
for(int i=0;i<str.length;i++){
System.out.println(str[i]);
}
}catch(IOException ioe){
System.out.println("IO Exception! ");
}
}
}
不知道是否是这个意思?
最好用BufferedRead来接受输入字符import java.io.*;public class ShowArray {
public static void main(String[] args) {
String s = "";
try {
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in)); s = in.readLine();
in.close;
System.out.println(s);
} catch (Exception e) {
System.out.println(e);
}
}
}这段程序就可以满足你的要求了,不过最好是把代码写到main外的方法中,我现在没法调试,你将就着看吧
如果要存在数组中用BufferedRead也比Read好,具体看看BufferedRead的说明吧,最后输出的时候也就是(存成数组方式)
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
楼上的你也可以试试
我的意思的直接把输入的参数赋给数组arraystr
那个args其实就是你传的参数
你可以这样运行程序
java classname arg[0] arg[1] arg[2].....
import java.util.*;
public class ShowArray3 {
public static String readline() {
int ch;
String str="";
boolean done=false;
while(!done) {
try {
ch=System.in.read();
if(ch<0 || (char)ch=='\n')
done=true;
else if((char)ch != '\r')
str=str+(char)ch;
}
catch(java.io.IOException e) {
done=true;
}
}
return str;
}
public static void main (String [] args) {
System.out.println("请输入四个字符串,中间以空格分割,结束使用回车:");
String arraystr[] = new String [4];
String tempStr=readline();
StringTokenizer st = new StringTokenizer(tempStr);
while(st.hasMoreTokens()) {
for(int i=0;i<=3;i++) {
arraystr[i]=st.nextToken();
System.out.println("Array:" + arraystr[i]);
}
}
for(int j=0;j<arraystr.length;j++) {
if(j != arraystr.length-1) {
System.out.print(arraystr[j]+">");
}else{
System.out.println(arraystr[j]);
}
}
}
}
请各位再看该程序,看是否有可以进行简化的部分,谢谢!
import java.io.*;
import java.util.*;
public class ShowArray2 {
public static String readline() {
String s = "";
try {
BufferedReader in =
new BufferedReader(new InputStreamReader(System.in));
s = in.readLine();
//in.close;
//System.out.println(s);
} catch (Exception e) {
System.out.println(e);
}
return s;
}
public static void main (String [] args) {
System.out.println("请输入四个字符串,中间以空格分割,结束使用回车:");
String arraystr[] = new String [4];
String tempStr=readline();
StringTokenizer st = new StringTokenizer(tempStr);
while(st.hasMoreTokens()) {
for(int i=0;i<=3;i++) {
arraystr[i]=st.nextToken();
System.out.println("Array:" + arraystr[i]);
}
}
for(int j=0;j<arraystr.length;j++) {
if(j != arraystr.length-1) {
System.out.print(arraystr[j]+">");
}else{
System.out.println(arraystr[j]);
}
}
}
}