for(int i=1;i<=7;i+=2)这是外层的循环,里面又有两个并行的内层循环。
i初始值为1,循环条件为<=7,每次自增2;因此,实际上变量i控制的外层循环次数为4次,i的值分别为1,3,5,7;到第5次i=9的时候循环条件不满足,循环退出。
再来看内层循环,第一次,外层i=1;内层的for(int kong=7;kong>i-1;kong--){}循环,条件为kong>i-1,也就是kong>1-1;即条件为kong>0。
也就是i=1的时候,内层的for(int kong=7;kong>i-1;kong--){}循环7次,kong的值从7到1,到0的时候退出。
在for(int xing=1;xing<=i;xing++){}中,首先外层循环变量i=1;那么第一次xing<=i,也就是xing<=1的时候执行循环体的语句。只执行1次xing=2就退出;
此时第一次外层循环执行完。
然后外层循环变量i发生变化,自增2,i=3;
内层的for(int kong=7;kong>i-1;kong--){}循环,条件为kong>i-1,也就是kong>3-1;即条件为kong>2。
执行5次,kong从7变到3,到2的时候退出。
另一个内层的循环for(int xing=1;xing<=i;xing++){},条件为xing<=i,也就是xing<=3;
执行3次,xing从1变到3,到4的时候退出。
第二次外层循环完。
然后是第三次,i=5。。。。。。
因此~~~~~~~~外层循环for(int i=1;i<=7;i+=2)执行4次。i变化为1、3、5、7,i变化到9的时候退出循环,不执行循环内部的语句。
内层循环for(int kong=7;kong>i-1;kong--){}执行次数为:7+5+3+1=16次。
内层循环for(int xing=1;xing<=i;xing++){}执行次数为:1+3+5+7=16次。
另外,团IDC网上有许多产品团购,便宜有口碑
你是想要看到每次的消费,然后在看到总价吗那么你应该添加一个计数器,计算循环次数,把每次的zj添加到ArrayList中实现如下
import javautil;public class Shangjilianxi3 {
public static void main(String[] args) {
Scanner input = new Scanner(Systemin);
String name = "";
double danjia = 00;
int bianhao = 0;
int shuliang = 0;
double zhekou = 08;
double je = 00;
Systemoutprintln("");
Systemoutprintln("\n请选择购买的商品编号");
Systemoutprintln("");
String wwe = "y";
//把每次的zj添加到list中
List<Double> list = new ArrayList<Double>();
double zj = 0;
int index = 0;
while ("y"equals(wwe)) {
Systemoutprintln("\n请输入商品编号");
bianhao = inputnextInt();
Systemoutprintln("\n请输入购买数量");
shuliang = inputnextInt();
switch (bianhao) {
case 1:
name = "T桖";
danjia = 2450;
break;
case 2:
name = "网球鞋";
danjia = 5700;
break;
case 3:
name = "网球拍";
danjia = 3200;
break;
}
zj = (danjia shuliang);
Systemoutprintln(name + "¥" + danjia + "\t数量" + shuliang + "合计¥"
+ zj);
//把每次zj添加到list中
listadd(zj);
Systemoutprintln("是否继续(y/n)");
wwe = inputnext();
//计算循环次数
index++;
}
//当大于一次时,把list中每个元素相加为zj
if (index >= 1) {
//把上面的zj清零
zj = 0;
for (int i = 0; i < listsize(); i++) {
zj += listget(i);
}
}
Systemoutprintln("折扣:" + zhekou);
Systemoutprintln("应付金额" + zj);
zj = zj zhekou;
Systemoutprintln("实付金额" + zj);
je = inputnextInt();
Systemoutprintln("找钱" + (je - zj));
}
}
也就是求众数
public static double mode(double[] array) {Arrayssort(array);
int count = 1;
int longest = 0;
double mode = 0;
for (int i = 0; i < arraylength - 1; i++) {
if (array[i] == array[i + 1]) {
count++;
} else {
count = 1;//如果不等于,就换到了下一个数,那么计算下一个数的次数时,count的值应该重新符值为一
continue;
}
if (count > longest) {
mode = array[i];
longest = count;
}
}
Systemoutprintln(longest);//打印出这个数出现的次数已判断是否正确
return mode;
}
调用这个方法就可以了
LZ是初学JAVA吧,建议多看看书,多动动手。没有人能一下成为高手,慢慢来打好基础。
下面是你的问题:
1在JAVA中,循环有while、for、do-while等。
2循环三次:
for(int i=1;i<4;i++) {
Systemoutprintf("%-5s","第"+i+“次for循环!”)
}
3用不用if判断可以根据需要。比如说我找第一个能被2整除的数,我用了循环,但是我要的只是第一个,那就要在循环中加上if()语句进行判断。
以上就是关于JAVA中的循环问题全部的内容,包括:JAVA中的循环问题、java语句中循环问题,求多次循环的总价。、java中用for循环求一个数组中出现最多次数的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)