java中如何循环输出一个值就放到一个变量中
publicstaticvoidmain(String[]args){Stringline1,line2,line3,line4,line5;Stringstr=Stri...
public static void main(String[] args) {
String line1, line2, line3, line4, line5;
String str = String str = "<row type=\"singletextline\" caption=\"Name\" ID=\"123\" CurrentValue=\"1\" others=\"width=10\"/>" ;
int idx = str.indexOf("\"") ;
int nextIdx = str.indexOf("\"", idx + 1) ;
while( idx!=-1 && nextIdx!=-1 ) {
System.out.println( str.substring(idx +1 , nextIdx ) ) ;
idx = str.indexOf("\"",nextIdx +1 ) ;
nextIdx = str.indexOf("\"", idx +1 ) ;
}
}
上面代码将输出:
singletextline
Name
123
1
width=10
需要输出 line1=singletextline
line2=Name
line3= 123 ......
用List<String> list=new ArrayList<String>();吗?该怎么写,菜鸟求指导~ 展开
String line1, line2, line3, line4, line5;
String str = String str = "<row type=\"singletextline\" caption=\"Name\" ID=\"123\" CurrentValue=\"1\" others=\"width=10\"/>" ;
int idx = str.indexOf("\"") ;
int nextIdx = str.indexOf("\"", idx + 1) ;
while( idx!=-1 && nextIdx!=-1 ) {
System.out.println( str.substring(idx +1 , nextIdx ) ) ;
idx = str.indexOf("\"",nextIdx +1 ) ;
nextIdx = str.indexOf("\"", idx +1 ) ;
}
}
上面代码将输出:
singletextline
Name
123
1
width=10
需要输出 line1=singletextline
line2=Name
line3= 123 ......
用List<String> list=new ArrayList<String>();吗?该怎么写,菜鸟求指导~ 展开
4个回答
展开全部
//方法很多,1楼是最小改动。
public static void main(String[] args) {
//将这几个变量改为Map。String line1, line2, line3, line4, line5;
Map map = new HashMap();
//定义一个计数器变量
int index=0;
String str = String str = "<row type=\"singletextline\" caption=\"Name\" ID=\"123\" CurrentValue=\"1\" others=\"width=10\"/>" ;
int idx = str.indexOf("\"") ;
int nextIdx = str.indexOf("\"", idx + 1) ;
while( idx!=-1 && nextIdx!=-1 ) {
//这里用"line"+index做为map的key
map.put("line"+index,str.substring(idx +1 , nextIdx ))
//计数器递增
index++;
//System.out.println( str.substring(idx +1 , nextIdx ) ) ;
idx = str.indexOf("\"",nextIdx +1 ) ;
nextIdx = str.indexOf("\"", idx +1 ) ;
}
//这里遍历map
for(Iterator it = map.entrySet().iterator();it.hasNext();){
Map.Entry entry = it.next();
System.out.println(entry.getKey()+"="entry.getValue()) ;
}
}
展开全部
public static void main(String[] args) {
Map<String,Object> maps = new HashMap<String,Object>();
String str = "<row type=\"singletextline\" caption=\"Name\" ID=\"123\" CurrentValue=\"1\" others=\"width=10\"/>" ;
int idx = str.indexOf("\"") ;
int nextIdx = str.indexOf("\"", idx + 1) ;
int i=0;
while( idx!=-1 && nextIdx!=-1 ) {
i++;
System.out.println( str.substring(idx +1 , nextIdx ) ) ;
maps.put("line"+i,str.substring(idx +1 , nextIdx ) );
idx = str.indexOf("\"",nextIdx +1 ) ;
nextIdx = str.indexOf("\"", idx +1 ) ;
}
Set<String> keys = maps.keySet();
for(String s:keys){
System.out.println(s+" = " + maps.get(s));
}
}
加点难度
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
不用。直接加个变量i。
public static void main(String[] args) {
String line1, line2, line3, line4, line5;
int i = 1;
String str = String str = "<row type=\"singletextline\" caption=\"Name\" ID=\"123\" CurrentValue=\"1\" others=\"width=10\"/>" ;
int idx = str.indexOf("\"") ;
int nextIdx = str.indexOf("\"", idx + 1) ;
while( idx!=-1 && nextIdx!=-1 ) {
System.out.println( "line"+i+"="+str.substring(idx +1 , nextIdx ) ) ;
idx = str.indexOf("\"",nextIdx +1 ) ;
nextIdx = str.indexOf("\"", idx +1 ) ;
i++;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
先格式化代码再贴出来好吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询