Java 否则什么也不印

Java 否则什么也不印,java,Java,我正在练习如何在这方面做得更好,所以我从这开始。 问题是,当我尝试使用else进行测试时,它不会打印。节目到此结束,就这样。 有人知道为什么吗 import java.util.Scanner; public class CuentaBancaria { public static void main(String args[]) { double EstatusDelBalance = 0.00, Balance = 0.00, De

我正在练习如何在这方面做得更好,所以我从这开始。 问题是,当我尝试使用else进行测试时,它不会打印。节目到此结束,就这样。 有人知道为什么吗

 import java.util.Scanner;
    public class CuentaBancaria
   {
       public static void main(String args[])
      {
         double EstatusDelBalance = 0.00, Balance = 0.00, Deposito = 0.00, Retiro = 0.00;
         Scanner vgd = new Scanner(System.in);
         System.out.println("Tu balance actual es: 0");
         {
            if (EstatusDelBalance <= Balance)
            {
               System.out.println("\nCuanto desea depositar? ");
               Deposito = vgd.nextDouble();
               Balance = Deposito + Balance;
               System.out.println("\nCuanto desea retirar? ");
               Retiro = vgd.nextDouble();
               Balance =  Balance-Retiro;
               EstatusDelBalance = Balance;
            }
            else 
            {
               System.out.print("No hay balance suficiente para el retiro");
            }
         }
      }
   }

EstatusDelBalance为0.0,Balance为0.0,因此EstatusDelBalance永远不会打印else,因为EstatusDelBalance=Balance。只有当EstatusDelBalance>Balance时,才会打印else

但是我想你错过了一些东西,因为你有多余的{},这在这里是不必要的,但是如果你有一个循环,这是必要的!。。。在带有“?”的行处

     import java.util.Scanner;
        public class CuentaBancaria
       {
           public static void main(String args[])
          {
             double EstatusDelBalance = 0.00, Balance = 0.00, Deposito = 0.00, Retiro = 0.00;
             Scanner vgd = new Scanner(System.in);
             System.out.println("Tu balance actual es: 0");
??? ->             {
                if (EstatusDelBalance <= Balance)
                {
                   System.out.println("\nCuanto desea depositar? ");
                   Deposito = vgd.nextDouble();
                   Balance = Deposito + Balance;
                   System.out.println("\nCuanto desea retirar? ");
                   Retiro = vgd.nextDouble();
                   Balance =  Balance-Retiro;
                   EstatusDelBalance = Balance;
                }
                else 
                {
                   System.out.print("No hay balance suficiente para el retiro");
                }
??? ->              }
          }
       }

如果要使else块可执行,请检查此项。我认为这是您所期望的

    import java.util.Scanner;
    public class CuentaBancaria
    {
       public static void main(String args[])
      {
         double EstatusDelBalance = 0.00, Balance = 0.00, Deposito = 0.00, Retiro = 0.00;
         Scanner vgd = new Scanner(System.in);
         System.out.println("Tu balance actual es: 0");
         System.out.println("\nCuanto desea depositar? ");
         {
             Deposito = vgd.nextDouble();
             Balance = Deposito + Balance;
             System.out.println("\nCuanto desea retirar? ");
             Retiro = vgd.nextDouble();
             Balance =  Balance-Retiro;
             if (EstatusDelBalance <= Balance)
             {
             EstatusDelBalance = Balance;
             }
             else 
             {
             System.out.print("No hay balance suficiente para el retiro");
             }
     }
  }
}

欢迎来到Stackoverflow。我不确定我是否理解您的问题,如果它不打印else部分,它会正常工作,因为EstatusDelBalance您可以分享您尝试测试else部分时使用的值吗?如果您想测试else,您可以将EstatusDelBalance更改为高于Balance的值,也可以添加while部分和quit选项以退出循环。很抱歉,我忘记添加信息。我想做的是一个基于银行账户的程序。我添加了钱EstatusDelBalance保存它,然后只是测试这个,我尝试输入比我在accountBlance中的钱更多的钱来激活else并打印抱歉,您没有足够的余额进行取款这是我一直尝试做的事情thx