JAVA中的循环问题

JAVA中的循环问题,第1张

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循环求一个数组中出现最多次数的元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/10173662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存