为了账号安全,请及时绑定邮箱和手机立即绑定

变量“double”给我错误,程序正在执行无限循环?

变量“double”给我错误,程序正在执行无限循环?

米琪卡哇伊 2021-12-22 15:29:41
我需要问用户他想放多少次他的笔记,然后循环他需要放多少次他的笔记,最后计算moyenne,但我把那个双a = a+n; 意味着它计算音符数,最后在sop中,我把音符数除以他首先问的多少。java给了我错误,有什么帮助吗?这是我的代码:package minmax;import java.util.Scanner;public class MinMax {  public static void main(String[] args) {    Scanner in = new Scanner(System.in);    int x, y, z;    System.out.println("Combien de notes vous avez? ");    x = in .nextInt();    for (y = 0; y < x; y++) {      do {        System.out.println("Mettez votre note :");        z = in .nextInt();      }      while (z < 20 || z > 0); {        double a = a + n;      }    }    System.out.println("Votre moyenne est : " + (a / x));  }}
查看完整描述

2 回答

?
FFIVE

TA贡献1797条经验 获得超6个赞

修复和建议:

  1. 变量必须先初始化(不严格指自己),“更新”(指自己,a=a+somethinga++a+=something那种东西)只能事后发生

  2. 在 Java 中,您通常将变量声明和用法放在一起,请记住,您可以在单个语句中声明和初始化变量。

  3. 在使用do-while循环的情况下,不要括号+缩进 后面的行while(...);,这样下面的行与do-while循环本身在同一级别

  4. 前面的空格.看起来很奇怪,除非你把一个表达式分成几行

把它们放在一起:

package minmax;


import java.util.Scanner;


public class MinMax {


  public static void main(String[] args) {

    Scanner in = new Scanner(System.in);


    System.out.println("Combien de notes vous avez? ");

    int x = in.nextInt();


    double a = 0;


    for (int y = 0; y < x; y++) {

      int z;

      do {

        System.out.println("Mettez votre note :");

        z = in.nextInt();

      }

      while (z < 0 || z > 20);

      a = a + z;

    }


    System.out.println("Votre moyenne est : " + (a / x));

  }

}

(加号a=a+n成为包含来自用户的数字a=a+z的明显原因z,并且必须交换比较方向 - 假设您想要 0...20 之间的数字)


查看完整回答
反对 回复 2021-12-22
?
慕神8447489

TA贡献1780条经验 获得超1个赞

简单的:

double a = a + n;

你不能定义一个变量并用它自己初始化它。

含义:无法声明a,但也无法为其分配一个值arequires a

换句话说:你写的代码真的毫无意义。也许你应该简单地把:double a = 0放在那个语句上面的某个地方,然后只做:a = a + n再往下。

当然:也使用真实姓名。an, 这些名字没有任何意义。使用一些告诉人类读者这些变量的意图的东西。


查看完整回答
反对 回复 2021-12-22
  • 2 回答
  • 0 关注
  • 118 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信