Java中如何在for循环外部获取循环内ArrayList的取值?
提取ArrayList循环内的值到外部并转为int类型
要把循环里获取到的3、0、9拼成int类型的309拿到循环外,这里有两种简单易懂的实现方法:
方法1:字符串拼接后转int
先在循环外定义一个字符串容器,把循环里的每个数字拼接进去,最后转成int类型。
ArrayList<Integer> idNumber = new ArrayList(12); //创建arraylist idNumber.add(1); idNumber.add(9); idNumber.add(9); idNumber.add(9); idNumber.add(3); idNumber.add(0); idNumber.add(9); idNumber.add(0); idNumber.add(4); idNumber.add(6); idNumber.add(7); idNumber.add(0); System.out.println(idNumber); // 定义字符串构建器用来拼接数字 StringBuilder sb = new StringBuilder(); for(int i = 4; i < 7; i++) { int num = idNumber.get(i); System.out.print(num); sb.append(num); // 将每个数字拼入容器 } // 把拼接好的字符串转为int int targetNum = Integer.parseInt(sb.toString()); System.out.println("\n循环外拿到的数字:" + targetNum); // 输出309
方法2:直接数学计算
利用十进制数的规律,通过当前结果*10 + 新数字的方式直接计算出目标int值,不需要字符串转换。
ArrayList<Integer> idNumber = new ArrayList(12); //创建arraylist idNumber.add(1); idNumber.add(9); idNumber.add(9); idNumber.add(9); idNumber.add(3); idNumber.add(0); idNumber.add(9); idNumber.add(0); idNumber.add(4); idNumber.add(6); idNumber.add(7); idNumber.add(0); System.out.println(idNumber); // 初始化结果为0 int targetNum = 0; for(int i = 4; i < 7; i++) { int num = idNumber.get(i); System.out.print(num); // 逐步计算:3 → 3*10+0=30 → 30*10+9=309 targetNum = targetNum * 10 + num; } System.out.println("\n循环外拿到的数字:" + targetNum); // 输出309
两种方法都能得到你需要的int类型309,方法1直观易懂,方法2更高效,根据自己的习惯选就行。
内容的提问来源于stack exchange,提问作者Dulaj
相关产品推荐
相关产品推荐

