Java代码不累加并给出正确的输出

Java代码不累加并给出正确的输出,java,Java,我试图让一个基本的java程序运行,但它没有加起来,它给了我一个无限循环。任何帮助都将不胜感激 输入:每位用户的年龄(输入结束时用小于0的值表示) 有两类用户: 0至5岁:儿童-免费($0) 5至18岁:学生-5美元 我应该 了解赞助人的年龄 确定用户属于哪个类别,并增加该类别的数量 继续执行步骤1和2,直到输入结束 一旦到达输入端 •计算每个类别产生的收入(类别中的用户数量*该类别的费率) •当日总收入(所有4类收入之和) 以以下格式生成输出 •佩罗博物馆:今天的收入 •儿童人数:*

我试图让一个基本的java程序运行,但它没有加起来,它给了我一个无限循环。任何帮助都将不胜感激

输入:每位用户的年龄(输入结束时用小于0的值表示)

有两类用户:

0至5岁:儿童-免费($0)

5至18岁:学生-5美元

我应该

  • 了解赞助人的年龄

  • 确定用户属于哪个类别,并增加该类别的数量

  • 继续执行步骤1和2,直到输入结束

  • 一旦到达输入端 •计算每个类别产生的收入(类别中的用户数量*该类别的费率) •当日总收入(所有4类收入之和)

  • 以以下格式生成输出

  • •佩罗博物馆:今天的收入

    •儿童人数:*****

    •来自儿童的收入:0美元

    •学生人数:****

    •学生收入:$****

    这是我的代码:

    import java.util.Scanner;
    
    public class MyClass {
        public static void main(String args[]) {
            int kidsPrice = 0;
            int studentPrice=5;
            
            
            Scanner input = new Scanner(System.in);
            int number = input.nextInt();
          
            
            while(number > 0 ){
                if (number >= 0 && number <= 5){
                    for(int i = 0; i < number; i++)  {
                    int  numOfKids = i;  
                    System.out.println("Kids " + numOfKids);
                    }
                 System.out.println("Kids " + kidsPrice); 
                  
                }
                 
               else if (number >= 5 && number <= 18){
                    for(int i = 0; i < number; i++)  {
                    int  numOfStudents = i;   
                    }
                  System.out.println("Students");
               }
               --number;  
            } 
    
      
        
        }
    }
    
    import java.util.Scanner;
    公共类MyClass{
    公共静态void main(字符串参数[]){
    int kidsPrice=0;
    int studentPrice=5;
    扫描仪输入=新扫描仪(System.in);
    int number=input.nextInt();
    而(数量>0){
    
    如果(number>=0&&number=5&&number您的尝试已完成一半,但由于一些原因未遵循问题陈述。请尝试并改进以下几行:-

  • 了解赞助人的年龄

  • 您刚刚阅读了用户的
    编号
    ,在
    迭代中输入了他们的年龄,并将您的
    if
    放在该年龄上

  • 增加该类别的数字

  • 这可以通过
    ++numberOfKids
    实现,例如在一个if条件下

  • 每个类别产生的收入(类别中的用户数量*该类别的费率)

  • 一旦你有了上面(2)中的值,你就知道了速率(在你的代码中目前没有使用过),就像前面所说的那样

  • 当日总收入(总收入


  • 您将在(3)中计算的收入,将它们相加以实现这些目标。

    您的尝试是半途而废的,但由于一些原因没有遵循问题陈述。尝试并改进这些方面:-

  • 了解赞助人的年龄

  • 您刚刚阅读了用户的
    编号
    ,在
    迭代中输入了他们的年龄,并将您的
    if
    放在该年龄上

  • 增加该类别的数字

  • 这可以通过
    ++numberOfKids
    实现,例如在一个if条件下

  • 每个类别产生的收入(类别中的用户数量*该类别的费率)

  • 一旦你有了上面(2)中的值,你就知道了速率(在你的代码中目前没有使用过),就像前面所说的那样

  • 当日总收入(总收入


  • 您将在(3)中计算的收入你能给我一个你想要的输入的例子吗?例如,你想输入孩子的数量,或者输入年龄并让程序运行直到输入负年龄为止。对于这样的问题,假装你是计算机并跟踪会发生什么,如果你输入的值为3,你会看到它输入了输入,进入了while循环。之后它做了什么?它返回并获得更多的输入吗?它只考虑一个条件下的数字吗?它会以任何方式改变数字吗?请在尝试问更多问题之前阅读。引用Eric Lippert的优秀文章:“StackOverflow是一个问答网站,提供关于实际代码的特定问题;“我写了一些我无法修复的错误代码”不是一个问题,而是一个故事,甚至不是一个有趣的故事。"你能给我一个你想输入的例子吗?例如,你想输入孩子的数量,还是输入年龄并让程序运行直到输入负年龄对于像这样的问题,假装你是计算机并跟踪会发生什么,如果你输入一个值,比如说,3。你会看到它接受输入并运行在while循环中,它做了什么?它返回并获得更多的输入吗?它只考虑一个条件下的数字吗?它会以任何方式改变数字吗?请在尝试问更多问题之前阅读。引用Eric Lippert的优秀文章:“StackOverflow是一个问答网站,提供关于实际代码的特定问题;“我写了一些我无法修复的错误代码”不是一个问题,而是一个故事,甚至不是一个有趣的故事