请教个java for 循环问题。。用个for循环,第一次循环时取第一个值,第二次循环时取第二个值。以此类推

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请教个java for 循环问题。。用个for循环,第一次循环时取第一个值,第二次循环时取第二个值。以此类推相关的知识,希望对你有一定的参考价值。

比如说,一个集合里有苹果,梨和香蕉。我用个for 循环将它们取出来。第一次取出苹果,第二次取出梨,第三次取出香蕉。(这是我要的效果)
我现在只能做到,第一次取出苹果,第二次取出苹果和梨,第三次取出苹果,梨和香蕉。(这样不能满足我要的效果)
我要怎么写for循环才能达到第一种那效果啊?
Vector<Vector<String>> res = null;
res=te.checkCourse(teno);//res里面已经有6个学生的信息了
System.out.println("res=="+res);
//将获取到的数据传到临时成绩表里
for(int i=0;i<res.size();i++)
te.addTable(res.get(i));//循环的往数据库表里传(你们只要知道是在往数据库里传信息就行了)

问题就是:这样传到数据库表中的信息只有res里的第一条。求解决方法。。。

package com;

import java.util.ArrayList;

public class TestEight
public static void main(String[] args)
ArrayList<String> arr=new ArrayList<String>();
arr.add("苹果");
arr.add("梨子");
arr.add("香蕉");

for (int i = 0; i < arr.size(); i++)
System.out.println("第"+(i+1)+"次:"+arr.get(i));




你要的是不是这个效果?!
参考技术A 依次装到ArrayList中,再在for循环中用get(int index) 方法获取,记得index从0开始追问

举个例子啊。。你这样说,我不太明白。。

追答

ArrayList arr=new ArrayList();
arr.add("苹果");
arr.add("梨");
arr.add("香蕉");
int len=arr.size();
for(int i=0;i<len;i++)

System.out.println(arr.get(i));

参考技术B FOR (I=0;I<=3;I++)

SYSOUT.PRINT(A[i]);

这不就好啦呀
参考技术C 你能贴源代码吗?
贴出来就能帮你解决追问

源代码 跟这个不一样。。。我只要个模型。。你就当 有三个数组 都装在一起的。用个for循环,第一次打印第一个数组,第二次打印第二个数组。第三次打印第三个数组。

追答

List list = new ArrayList();//list就是里面装了东西的集合

for(int i = 0; i < list.length(); i++)

System.out.println(list.getValue(i));//取得集合里面的值的方法好像不是getValue() 我一下忘了 哈哈! 你懂的。你是才学习java吗?)

追问

没对。。我就是用的这方法。。这方法 每循环一次 都要把前面的值调取一次。我的要求是 ,循环到后面时,不调取前面的值。

追答

怎么可能啊?你想啊变量i每次都加1,怎么会取得前面的值?

追问

我将一个容器的6个东西添加到 数据库表中。但是我用的就是你那个方法,数据库表中出来了6组数据,6组全是一样的,而且是这个容器的第一组数据。。。所以你这中循环写法,没达到我要的要求。。呵呵

追答

大哥 你把你的代码贴出来嘛 你怕我会偷啊? - -

本回答被提问者采纳

java用for循环输出长方形

以下是代码,但是一点运行就出现电脑cpu使用率100%,是不是死循环了?是定义的变量有问题还是其它错误,请教高手啊啊啊
public class Theer
public static void main(String[] args)

for(int a=1;a<=9;a+=2)
for(int b=9;b>a-1;a--)
System.out.print("");

for(int c=1;c<=a;c++)
System.out.print("*");

System.out.println();

for(int d=1;d<=7;d+=2)
for(int e=1;e<d+3;d++)
System.out.println();

for(int f=7;f>=d;f--)
System.out.println("*");

System.out.println();


我也是java新手 看了一下你的代码有两处错误for(int b=9;b>a-1;a--) 迭代部分不应该是a--而应该是b--,是a--的话循环会因到不到结束条件而进入死循环,,下面的 for(int e=1;e<d+3;d++)也是同理应为e++.另外你下面的输出代码应该是print而不是println,for(int e=1;e<d+3;e++)后的输出应该是print("")追问

谢谢,但是我改了之后输出的前半部分是直角三角形,还木有输出长方形。

参考技术A for (int a = 1; a <= 9; a += 2)
for (int b = 9; b > a - 1; a--)
。。。。
第一层循环 a = 1, 进入第二层循环
int b = 9
b > a - 1 -- > 0 > 1 -1
a-- 而且是a--

那条件 b > a - 1 永远成立,所以死循环追问

谢谢、

本回答被提问者和网友采纳
参考技术B for(int b=9;b>a-1;a--)
System.out.print("");

这里就死循环了。。。
如果b>a-1,那么在a--之后,必然(更加)会是b>a-1追问

谢谢

以上是关于请教个java for 循环问题。。用个for循环,第一次循环时取第一个值,第二次循环时取第二个值。以此类推的主要内容,如果未能解决你的问题,请参考以下文章

java用for循环输出长方形

请教大神shell的for in语句中怎么使用多个变量

for循环 嵌套 算阶乘和的问题

如何PHP循环输入数组

java中for ..each 循环 的详细用法 举个例子

在java中,新循环,也就是增强for循环怎么用?是啥格式?