java for循环最后一个_为什么我只能得到foreach循环中的最后一行值java enterprise

我是Java企业程序设计的初学者,现在我打算做一个食品订单系统。我将数据库中的所有记录显示在jsp页面内的一个表中。现在我想获取我选入数据库的每行记录,但问题是我只能在我的数组列表中提交最后一条记录。有没有人可以提供一些帮助?为什么我只能得到foreach循环中的最后一行值java enterprise

NamePriceRestaurantAdd to Cart

List foodDisplay =

(List)

session.getAttribute("foodDisplay");

if(searchResult == null){

for(FoodRecord foodRecord: foodDisplay)

{

%>

session.setAttribute("id", foodRecord.getFoodId());

session.setAttribute("name", foodRecord.getName());

session.setAttribute("price", foodRecord.getPrice());

%>

### 回答1: 在使用Javaforeach语句时,想要判断当前是否为最后一次循环,则可以通过比较当前元素在迭代器的位置和迭代器的大小来实现。具体步骤如下: 1. 将需要迭代遍历的集合转换成一个迭代器对象,可以使用iterator()方法来实现。 2. 定义一个整型变量position,并将其初设为0,用来记录当前元素在迭代器的位置。 3. 使用foreach语句对集合进行循环遍历,在每次迭代时,将position累加1。 4. 在循环语句加入判断语句,判断当前元素是否为最后一个元素。可以通过比较position和迭代器的大小来确定,如果position等于迭代器的大小,那么就表明当前元素是最后一个元素。 5. 如果当前元素是最后一个元素,则执行相应的逻辑(比如输出提示信息等)。 6. 在foreach语句结束后,记得关闭迭代器。 总之,通过比较当前元素在迭代器的位置和迭代器的大小,就可以实现在Javaforeach语句判断当前是否为最后一次循环。 ### 回答2: 在Javaforeach语法是一种快速遍历集合或数组的方式。当我们使用foreach循环遍历一个集合或数组时,有时候需要在最后一次循环的时候做一些特殊的处理。 在foreach循环,我们无法直接判断是否是最后一次循环,因为foreach循环是自动遍历集合或数组的每一个元素,并且foreach循环不提供直接的索引访问。因此,我们需要使用其他的方法来判断是否是最后一次循环。 一种常见的方法是使用计数器变量来统计循环次数。我们可以在foreach循环之前定义一个计数器变量并初始化为零,然后在循环内部每次自增,最后比较计数器变量是否等于集合或数组的长度减一,如果相等,则说明当前循环最后一次循环。 例如,假设我们需要在遍历一个字符串数组时,在最后一个元素后添加一个空格,可以使用以下代码实现: ```java String[] strArr = {"Java", "Python", "C++", "JavaScript"}; int count = 0; for (String s : strArr) { count++; System.out.print(s); if (count != strArr.length) { System.out.print(" "); } } ``` 以上代码,我们定义了一个计数器变量count,并使用foreach循环遍历字符串数组。在每次循环,我们先输出当前元素s,然后判断计数器变量是否等于字符串数组的长度减一,如果不等于,则在当前元素后面输出一个空格。 以上就是一种常见的在foreach循环判断是否是最后一次循环的方法。另外,还可以使用迭代器等其他方式来实现,具体实现方法取决于具体的需求和数据结构。 ### 回答3: 在使用Java foreach循环时,判断是否为最后一次循环有多种方法。 1. 使用数组长度或集合大小进行判断 通过判断当前元素的下标或索引是否等于数组的长度或集合的大小减一,如果相等即为最后一次循环。具体代码如下: ```java String[] array = {"a", "b", "c", "d"}; for (int i = 0; i < array.length; i++) { System.out.print(array[i]); if (i == array.length - 1) { System.out.println(" is the last element."); } else { System.out.print(","); } } ``` 输出结果为:`a,b,c,d is the last element.` 2. 使用迭代器进行判断 通过将集合转换为迭代器,判断当前是否为迭代器的最后一个元素。具体代码如下: ```java List<String> list = Arrays.asList("a", "b", "c", "d"); Iterator<String> iterator = list.iterator(); int count = 0; while (iterator.hasNext()) { String element = iterator.next(); count++; if (!iterator.hasNext()) { System.out.print(element + " is the last element."); } else { System.out.print(element + ","); } } ``` 输出结果为:`a,b,c,d is the last element.` 3. 使用Java 8的Stream API 通过将数组或集合转换为Stream,使用`reduce`方法得到最后一个元素,并判断当前元素是否与最后一个元素相等。具体代码如下: ```java List<String> list = Arrays.asList("a", "b", "c", "d"); list.stream().forEach(element -> { String lastElement = list.stream().reduce((first, last) -> last).orElse(""); System.out.print(element); if (element.equals(lastElement)) { System.out.println(" is the last element."); } else { System.out.print(","); } }); ``` 输出结果为:`a,b,c,d is the last element.` 以上是几种判断Java foreach循环是否为最后一次循环的方法,具体使用哪种方式可以根据需求选择。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值