java循环中,我想在for循环中输入两次,第一次循环ok,但是第二次就不行了,求大神指点
第二次没有执行时因为,你第一次查询结束后关闭了result。
不知道你这个要实现什么功能,你这个循环其实是没意义的,每次结果都会覆盖,就是只能得到最后一次的循环结果!
因为JAVA的for循环先执行的是内层的循环,但程序是从外层开始执行的。
首先程序从外层for循环进入内层for循环,外层for循环保持在第一次,
然后执行内层for循环,内层for循环执行完成后,再返回外层循环,
外层循环执行再执行第二次,并保持在第二次,进入内层循环,
内层循环完成后再返回外层,就执照这样的流程执行。
所以会出现你所说的情况。
package com.maven.Test;
import java.util.Scanner;
public class TestMyBatis {
public static void main(String[] args) {
Dog dogs[]=new Dog[4];
Scanner sc=new Scanner(System.in);
double weight=0;
String name;
for(int i=0;i<dogs.length;i++){
System.out.println("请输入第"+(i+1)+"只狗的名字:");
dogs[i]=new Dog();
name=sc.nextLine();
dogs[i].setName(name);
System.out.println(dogs[i].getName()); System.out.println("请输入第"+(i+1)+"只狗的体重:");
weight=Double.parseDouble(sc.nextLine());
dogs[i].setWeight(weight);
System.out.println(dogs[i].getWeight());
}
}
}
class Dog{
String name;
Double weight;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Double getWeight() {
return weight;
}
public void setWeight(Double weight) {
this.weight = weight;
}
}
你查查next()和nextLine()的区别。
java for循环中嵌套if和break
因为你在i=1的时候就循环了一遍j。跳出了out2.j==5的时候应该break out3,i==3的时候应该break out2 .break是跳出,不是跳出到
怎样理解:在for循环中,continue语句一结束,先执行每次迭代后的操作...
就以这个例子 for(int n=1;n<=10;n++){ if(n%3==0)continue;printf("%d\\t",n);} 输出结果就是1,2,3,4,。。。就是continue之后会执行n++ 而如果用while语句 int n=1;while(n<=10){ if(n%3==0)continue;n++;printf("%d\\t",n);} 结果就是1、2然后无限循环下去也不输出...
matlab的for循环,真的很难懂啊
L_B=4;L_T=20;T=4.*pi;z=0:0.001:24;beta_x=6081.3;beta_y=6079.7;beta=6080.5;theta=2.*pi.*[z-(20\/pi).*sin(z.*pi\/20)];for i=1:2 tau(i)=2.*pi.*(1-cos(i.*0.001.*pi\/20));g(i)=(tau(i).^2+(pi.\/4).^2).^(0.5);M(1,1)=(cos(g(i)....
javascript中的冒泡排序法
所以一层循环根本就不够用,必须再套一层才行。像这个例子,五个数字,起码要进行四轮循环才行。至于为什么要this.length-i,是因为第一次比较五个数字,第二个只要比较前四个就行了,第五个肯定是最大的了。。var array = [5, 4, 3, 2, 1];var temp = 0;for (var i = 0; i < ...
如何在for循环中为变量赋值?
是的,每次循环都会重新定义i
scanf在for循环中如何输入字符串
我想你的格式是对的,关键你最后输入了一个回车,当第二次循环到输入语句是,他会把回车给V1,所以你要在 scanf("%c,%c",&v1,&v2);后面加句getchar();
C语言中for语句的两种用法?
for (int i=0; i<10; i++) foo1();for (int i=0; i<10; i++) foo1();for (int i=0; i<10; i++) foo1();上面三种写法,都是调用foo1()函数10次。在下面一种情况里,程序只会将foo1()函数循环调用10次,而不会将foo2()列入循环中,因为分号for语句在foo2()之前...
什么是for循环
For循环是一种编程语言中的基本结构,用于重复执行一段代码直到满足特定条件。详细解释:1. 基本定义:For循环是一种迭代控制结构,意味着它会重复执行一段代码,直到满足某个条件为止。这是编程中最常用的控制流结构之一。2. 工作原理:在for循环中,你会指定一个或多个循环变量,并设置一个初始值。
java中:是什么意思?
:)中,冒号用于分隔条件表达式和两个可能的结果。例如: int result = (condition) ? value1 : value2;4.在正则表达式中的特殊含义:在Java中的正则表达式中,冒号通常用于表示非捕获分组,即使用括号括起来的表达式,但不会被捕获保存。5.在增强的for循环中:在Java 5及以上的版本中,冒号可以用于...
for()语句中的变量的作用域问题
这样会报错的,说i没有定义,因为你i的定义在for循环中,所以只能在for中使用i变量,如果想在整个程序中都使用,请在循环外定义。刚才在vc6.0中测试了,确实没有报错,但是i变量在出了for后就已经销毁了,这个是vc6.0的问题,在vc8中会报错。作用域是在for后面大括号之间。