String a="123"+char(0x09)+"4567"+char(0x1a);
我想读取使用while循环读取到char(0x1a)后就自动停止,因为a里面用char(0x09)分割了N条数据,
读后存入变成
b=123
c=4567
请问大哥应该怎样做啊
25 个解决方案
#1
不太明白你的意思
#2
我也不是很明白
把整个代码发了看看!
把整个代码发了看看!
#3
感谢各位
意思是,我想读取一段字符串,但该字符串a是使用tab也就是(char)0x09作为字段分隔符,(char)0x1a作为结束符。
该字符串比如是 String a="123"+(char)0x09+"4567"+(char)0x1a; 这样。
我想将里面数据使用while循环来读取(while的条件是读到(char)0x1a 结束符便终止读取)读出来分别存入b,c里面,成为String b="123" 和String c="4567"
因为a里面不确定有多少数据需要读出来的数据,也就是说可能不单单有b,c还有d,e,f,....这些来存数据。
请问应该怎样做啊
意思是,我想读取一段字符串,但该字符串a是使用tab也就是(char)0x09作为字段分隔符,(char)0x1a作为结束符。
该字符串比如是 String a="123"+(char)0x09+"4567"+(char)0x1a; 这样。
我想将里面数据使用while循环来读取(while的条件是读到(char)0x1a 结束符便终止读取)读出来分别存入b,c里面,成为String b="123" 和String c="4567"
因为a里面不确定有多少数据需要读出来的数据,也就是说可能不单单有b,c还有d,e,f,....这些来存数据。
请问应该怎样做啊
#4
我想是需要Arraylist数组,这样就可以不使用b,c,d,f......这样的变量了,但不知道具体应该怎么办,恳求各位大哥帮忙
#5
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int stop = a.indexOf(0x1a);
String[] data = a.substring(0, stop).split(String.valueOf((char) 0x09));
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
int stop = a.indexOf(0x1a);
String[] data = a.substring(0, stop).split(String.valueOf((char) 0x09));
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
#6
谢谢 humanity(总是偷窥 Java & XML)
但,程序提示java.lang.NoSuchMethodError错误
是怎么回事啊
但,程序提示java.lang.NoSuchMethodError错误
是怎么回事啊
#7
humanity(总是偷窥 Java & XML) 的答案是正解
#8
可能是你的JDK配置的问题吧!!!~~
#9
同意humanity(总是偷窥 Java & XML)
#10
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
数据很多呢?比如,String a = "123" + (char) 0x09 + "4567" )+"123" + (char) 0x09 )+"123" + (char) 0x09 )+"123" + (char) 0x09 + (char) (0x1a
这样会出错吗?
数据很多呢?比如,String a = "123" + (char) 0x09 + "4567" )+"123" + (char) 0x09 )+"123" + (char) 0x09 )+"123" + (char) 0x09 + (char) (0x1a
这样会出错吗?
#11
那如果想使用while循环和Arraylist数组,还有 StringTokenizer st = new StringTokenizer(a, (char)0x09);来实现,应该怎样使得0x1a为终止循环的条件
#12
我想你用的是JDK1.3
#13
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while((char)0x1a != a.charAt(i)){
//这部分你可以写你的程序!!不过比较多!
.....
i++;
}
#14
要求 JDK 1.4 ,
1.4 才有 String.split 因为 1.4 引入了 RE 正则表达式 , 并在 String 提供支持.
1.4 才有 String.split 因为 1.4 引入了 RE 正则表达式 , 并在 String 提供支持.
#15
谢谢wangw1319(于风) 那部分代码应该怎样写啊
#16
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while((char)0x1a != a.charAt(i)){
i++;
}
a = a.substring(0,i);
StringTokenizer st = new StringTokenizer(a, String.valueOf((char)0x09));
List lst = new ArrayList();
for (i = 0; i < st.countTokens() ; i++) {
lst.add(String.valueOf(st.nextElement()));
}
int i = 0;
while((char)0x1a != a.charAt(i)){
i++;
}
a = a.substring(0,i);
StringTokenizer st = new StringTokenizer(a, String.valueOf((char)0x09));
List lst = new ArrayList();
for (i = 0; i < st.countTokens() ; i++) {
lst.add(String.valueOf(st.nextElement()));
}
#17
那怎么循环输出这些lst值啊,需要转换吗?System.out.println(lst[i]);
好像输不出来,各位大哥帮帮小弟
好像输不出来,各位大哥帮帮小弟
#18
更正一下:
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while ((char) 0x1a != a.charAt(i)) {
i++;
}
a = a.substring(0, i);
StringTokenizer st = new StringTokenizer(a,
String.valueOf((char) 0x09));
List lst = new ArrayList();
while (st.hasMoreElements()) {
lst.add(String.valueOf(st.nextElement()));
}
用 for (i = 0; i < lst.size(); i++) {
System.out.println(lst.get(i));
}
可以打出来
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while ((char) 0x1a != a.charAt(i)) {
i++;
}
a = a.substring(0, i);
StringTokenizer st = new StringTokenizer(a,
String.valueOf((char) 0x09));
List lst = new ArrayList();
while (st.hasMoreElements()) {
lst.add(String.valueOf(st.nextElement()));
}
用 for (i = 0; i < lst.size(); i++) {
System.out.println(lst.get(i));
}
可以打出来
#19
感谢wangw1319(于风) 和humanity(总是偷窥 Java & XML)
问题解决
问题解决
#20
up
#21
为什么结束不了帖子,给分的时候说,分数大于帖子数??
#22
为什么结束不了帖子,给分的时候说,分数大于帖子数??
#23
还有问题:( 就是在控制台里输出的值都正确,但是在最后会多输出一个多余的值,这个值在控制台里显示是为空值?这是为什么呢?
比如应该输出5个就可以了,但输出了6个,第六个是多余的,这是怎么回事呢?(使用的是wangw1319(于风) 写的那个最终方法)
比如应该输出5个就可以了,但输出了6个,第六个是多余的,这是怎么回事呢?(使用的是wangw1319(于风) 写的那个最终方法)
#24
值没有多输出
只是System.out.println()语句默认输出完后回车
不信你可以打出lst的大小
即System.out.println(lst.size());
只是System.out.println()语句默认输出完后回车
不信你可以打出lst的大小
即System.out.println(lst.size());
#25
public class Datas {
public static void main(String args[]){
String a = "123"+ (char)0x09+"456"+(char)0x09+"789";
String [] data = a.split(String.valueOf((char)0x09));
for(int i=0;i<data.length ;i++){
System.out.println(data[i]);
}
}
}
#1
不太明白你的意思
#2
我也不是很明白
把整个代码发了看看!
把整个代码发了看看!
#3
感谢各位
意思是,我想读取一段字符串,但该字符串a是使用tab也就是(char)0x09作为字段分隔符,(char)0x1a作为结束符。
该字符串比如是 String a="123"+(char)0x09+"4567"+(char)0x1a; 这样。
我想将里面数据使用while循环来读取(while的条件是读到(char)0x1a 结束符便终止读取)读出来分别存入b,c里面,成为String b="123" 和String c="4567"
因为a里面不确定有多少数据需要读出来的数据,也就是说可能不单单有b,c还有d,e,f,....这些来存数据。
请问应该怎样做啊
意思是,我想读取一段字符串,但该字符串a是使用tab也就是(char)0x09作为字段分隔符,(char)0x1a作为结束符。
该字符串比如是 String a="123"+(char)0x09+"4567"+(char)0x1a; 这样。
我想将里面数据使用while循环来读取(while的条件是读到(char)0x1a 结束符便终止读取)读出来分别存入b,c里面,成为String b="123" 和String c="4567"
因为a里面不确定有多少数据需要读出来的数据,也就是说可能不单单有b,c还有d,e,f,....这些来存数据。
请问应该怎样做啊
#4
我想是需要Arraylist数组,这样就可以不使用b,c,d,f......这样的变量了,但不知道具体应该怎么办,恳求各位大哥帮忙
#5
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int stop = a.indexOf(0x1a);
String[] data = a.substring(0, stop).split(String.valueOf((char) 0x09));
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
int stop = a.indexOf(0x1a);
String[] data = a.substring(0, stop).split(String.valueOf((char) 0x09));
for (int i = 0; i < data.length; i++) {
System.out.println(data[i]);
}
#6
谢谢 humanity(总是偷窥 Java & XML)
但,程序提示java.lang.NoSuchMethodError错误
是怎么回事啊
但,程序提示java.lang.NoSuchMethodError错误
是怎么回事啊
#7
humanity(总是偷窥 Java & XML) 的答案是正解
#8
可能是你的JDK配置的问题吧!!!~~
#9
同意humanity(总是偷窥 Java & XML)
#10
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
数据很多呢?比如,String a = "123" + (char) 0x09 + "4567" )+"123" + (char) 0x09 )+"123" + (char) 0x09 )+"123" + (char) 0x09 + (char) (0x1a
这样会出错吗?
数据很多呢?比如,String a = "123" + (char) 0x09 + "4567" )+"123" + (char) 0x09 )+"123" + (char) 0x09 )+"123" + (char) 0x09 + (char) (0x1a
这样会出错吗?
#11
那如果想使用while循环和Arraylist数组,还有 StringTokenizer st = new StringTokenizer(a, (char)0x09);来实现,应该怎样使得0x1a为终止循环的条件
#12
我想你用的是JDK1.3
#13
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while((char)0x1a != a.charAt(i)){
//这部分你可以写你的程序!!不过比较多!
.....
i++;
}
#14
要求 JDK 1.4 ,
1.4 才有 String.split 因为 1.4 引入了 RE 正则表达式 , 并在 String 提供支持.
1.4 才有 String.split 因为 1.4 引入了 RE 正则表达式 , 并在 String 提供支持.
#15
谢谢wangw1319(于风) 那部分代码应该怎样写啊
#16
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while((char)0x1a != a.charAt(i)){
i++;
}
a = a.substring(0,i);
StringTokenizer st = new StringTokenizer(a, String.valueOf((char)0x09));
List lst = new ArrayList();
for (i = 0; i < st.countTokens() ; i++) {
lst.add(String.valueOf(st.nextElement()));
}
int i = 0;
while((char)0x1a != a.charAt(i)){
i++;
}
a = a.substring(0,i);
StringTokenizer st = new StringTokenizer(a, String.valueOf((char)0x09));
List lst = new ArrayList();
for (i = 0; i < st.countTokens() ; i++) {
lst.add(String.valueOf(st.nextElement()));
}
#17
那怎么循环输出这些lst值啊,需要转换吗?System.out.println(lst[i]);
好像输不出来,各位大哥帮帮小弟
好像输不出来,各位大哥帮帮小弟
#18
更正一下:
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while ((char) 0x1a != a.charAt(i)) {
i++;
}
a = a.substring(0, i);
StringTokenizer st = new StringTokenizer(a,
String.valueOf((char) 0x09));
List lst = new ArrayList();
while (st.hasMoreElements()) {
lst.add(String.valueOf(st.nextElement()));
}
用 for (i = 0; i < lst.size(); i++) {
System.out.println(lst.get(i));
}
可以打出来
String a = "123" + (char) 0x09 + "4567" + (char) (0x1a);
int i = 0;
while ((char) 0x1a != a.charAt(i)) {
i++;
}
a = a.substring(0, i);
StringTokenizer st = new StringTokenizer(a,
String.valueOf((char) 0x09));
List lst = new ArrayList();
while (st.hasMoreElements()) {
lst.add(String.valueOf(st.nextElement()));
}
用 for (i = 0; i < lst.size(); i++) {
System.out.println(lst.get(i));
}
可以打出来
#19
感谢wangw1319(于风) 和humanity(总是偷窥 Java & XML)
问题解决
问题解决
#20
up
#21
为什么结束不了帖子,给分的时候说,分数大于帖子数??
#22
为什么结束不了帖子,给分的时候说,分数大于帖子数??
#23
还有问题:( 就是在控制台里输出的值都正确,但是在最后会多输出一个多余的值,这个值在控制台里显示是为空值?这是为什么呢?
比如应该输出5个就可以了,但输出了6个,第六个是多余的,这是怎么回事呢?(使用的是wangw1319(于风) 写的那个最终方法)
比如应该输出5个就可以了,但输出了6个,第六个是多余的,这是怎么回事呢?(使用的是wangw1319(于风) 写的那个最终方法)
#24
值没有多输出
只是System.out.println()语句默认输出完后回车
不信你可以打出lst的大小
即System.out.println(lst.size());
只是System.out.println()语句默认输出完后回车
不信你可以打出lst的大小
即System.out.println(lst.size());
#25
public class Datas {
public static void main(String args[]){
String a = "123"+ (char)0x09+"456"+(char)0x09+"789";
String [] data = a.split(String.valueOf((char)0x09));
for(int i=0;i<data.length ;i++){
System.out.println(data[i]);
}
}
}