Java文件读取时是按readline()读取的,然后采用了以空格为分隔符返回字符串的方法

Java文件读取时是按readline()读取的,然后采用了以空格为分隔符返回字符串的方法返回了字符串,现在我需要以作为数字读取--作为字符读取---作为数字读取---作... Java文件读取时是按readline()读取的,然后采用了以空格为分隔符返回字符串的方法返回了字符串,现在我需要以作为数字读取--作为字符读取---作为数字读取---作为字符读取这样的格式轮流读取这些字符串,请问如何将这些字符串作为字符读取?下面是我写的相关的一段程序。。。
String[]b=new String[n];
a=read.readLine();
b=a.split(" ");
v=new int[n+1];
op=new char[n+1];
for(int i=1;i<=2*n;i+=2){
v[i]=Integer.parseInt(b[i-1]);
}
不是FOR语句那里,我要读取的这段字符串是数字和字符混合的,现在我需要将它们分开读取进不同的分组,比如读取的字符串是5 a 5 i 9 t,我现在需要的是一个分组是数字5,5,9,还有一个分组是a,i,t,事先已经规定第1、3、5……个是数字,第2、4、6……个是字符,现在我需要如何修改这段程序才能做到这么读取呢?
展开
 我来答
wml199039
2010-12-13 · 超过25用户采纳过TA的回答
知道答主
回答量:42
采纳率:0%
帮助的人:53.5万
展开全部
第一、读文件 不一定要 用readline,可以一个一个字节读取的,比如FileInputStream中的
int read(byte[] b)
从此输入流中将最多 b.length 个字节的数据读入一个 byte 数组中。
你就可以从b中获得单个的字节
其实如果你读取的是一行一行也可以处理的
因为String类有个 toCharArray方法 返回一个 char数组
你就可以实现你要的效果了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ac09717
推荐于2016-11-21 · TA获得超过128个赞
知道小有建树答主
回答量:148
采纳率:0%
帮助的人:115万
展开全部
这样弄数组不越界才怪:v的大小为n+1,在for循环里i是可以到2*n的,看来是初学java。
把for循环改一下:
for (int i = 0; i < n; i++) {
v[i] = Integer.parseInt(b[i]);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zengxiaol
2010-12-13 · TA获得超过149个赞
知道答主
回答量:142
采纳率:0%
帮助的人:64.8万
展开全部
我帮你写了一个就是可以实现你说的功能哦
public class Test {

public static void main(String[] args) {
String str = "5a5i9t";
char[] digit = new char[10];//定义一个放数字的数组
char[] letter = new char[10];//定义一个放字母的数组
for(int i = 0;i<str.length();i+=2)
{
digit[i] = str.charAt(i);
System.out.print(digit[i]);
}
System.out.println();
for(int i = 1;i<str.length();i+=2)
{
letter[i] = str.charAt(i);
System.out.print(letter[i]);
}
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qyi8
2010-12-13 · TA获得超过211个赞
知道小有建树答主
回答量:222
采纳率:0%
帮助的人:191万
展开全部
public static void main(String[] args) {
String line = "5 a 5 i 9 t";
String[] strArray = line.split(" ");
List<Integer> intList = new ArrayList<Integer>();
List<String> charList = new ArrayList<String>();
for (int i = 0; i < strArray.length; i++) {
//关键:当判断下标为偶数时就是数字,其余为字母
if (i % 2 == 0) {
intList.add(Integer.valueOf(strArray[i]));
continue;
}
charList.add(strArray[i]);
}

}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云战天涯8
2015-10-20 · 超过77用户采纳过TA的回答
知道小有建树答主
回答量:157
采纳率:0%
帮助的人:125万
展开全部
BuffedReader br=new BuffedReader(new FileReader(fileName));
String str=br.readLine();
String[] arr=str.split(" ");
br.close();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式