Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/305.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 逻辑/语义错误_Java_Html_Java.util.scanner - Fatal编程技术网

Java 逻辑/语义错误

Java 逻辑/语义错误,java,html,java.util.scanner,Java,Html,Java.util.scanner,我正在努力创造一个条件 如果发票号小于1000,请强制将发票号设置为0 如果月份字段小于1或大于12,则强制月份字段为0 如果日期字段小于1或大于31,则强制将日期字段设置为0 如果“年份”字段小于2011或大于2017,请将“年份”字段强制为0 但当我尝试运行它时,它会强制所有字段为0,即使我为变量输入了正确的值: 请键入您的发票号码:…1111 余额应在哪一个月到期?(从1-12中选择)。。。1. 余额在哪一天到期?(从1-31中选择)。。。。12 余额在哪一年到期?(选择2011-2017

我正在努力创造一个条件

  • 如果发票号小于1000,请强制将发票号设置为0
  • 如果月份字段小于1或大于12,则强制月份字段为0
  • 如果日期字段小于1或大于31,则强制将日期字段设置为0
  • 如果“年份”字段小于2011或大于2017,请将“年份”字段强制为0
  • 但当我尝试运行它时,它会强制所有字段为0,即使我为变量输入了正确的值:

    请键入您的发票号码:…1111
    余额应在哪一个月到期?(从1-12中选择)。。。1.
    余额在哪一天到期?(从1-31中选择)。。。。12
    余额在哪一年到期?(选择2011-2017年)…2011年
    您的发票号为0,您的到期余额为0/0/0。
    
    公共类发票
    {
    私家旅馆;
    私人双包房;
    私有INTM;
    私人int d;
    私人int yy;
    公共发票()
    {
    超级();
    刚毛;
    getInNum();
    塞布尔杜(巴尔杜);
    setM(m);
    setD(d);
    setYy(yy);
    }
    公共国际酒店()
    {
    返回inNum;
    }
    公共空间塞蒂努姆(内因努姆)
    {
    if(inNum<1000)
    这个inNum=0;
    其他的
    this.inNum=inNum;
    }
    公共双getBalDue()
    {
    返回巴尔杜;
    }
    公共空间退避(双倍保释)
    {
    this.balDue=balDue;
    }
    公共整数getM()
    {
    返回m;
    }
    公共无效setM(整数m)
    {
    如果(m<1 | | m>12)
    这是m=0;
    其他的
    这个,m=m;
    }
    公共整数getD()
    {
    返回d;
    }
    公共无效设置(int d)
    {
    如果(d<1 | | d>31)
    这是d=0;
    其他的
    这个。d=d;
    }
    公共整数getYy()
    {
    返回yy;
    }
    公共无效设置yy(整数yy)
    {
    如果(年<2011年|年>2017年)
    这是m=0;
    其他的
    this.yy=yy;
    }
    public void displayInfo()
    {
    内因努姆;
    int m,d,yy;
    扫描仪键盘=新扫描仪(System.in);
    系统输出打印(“请键入您的发票号码:”);
    inNum=keyboard.nextInt();
    系统输出
    .打印(“余额应在哪个月到期?(从1-12中选择)”;
    m=键盘.nextInt();
    系统输出
    .打印(“余额到期日?(从1-31中选择)”;
    d=键盘.nextInt();
    系统输出
    .print(“余额应在哪一年到期?(从2011-2017年中选择)”;
    yy=键盘.nextInt();
    System.out.println(“您的发票号是”+getInNum()
    +您的到期余额在“+getM()+”/“+getD()上
    +“/”+getYy()+”;
    }
    公共静态void main(字符串[]args)
    {
    发票=新发票();
    displayInfo();
    }
    }
    
    您为该类制作了所有漂亮的setter,但没有使用它们

    Scanner keyboard = new Scanner(System.in);
    System.out.print("Please type your invoice number: ");
    setInNum(keyboard.nextInt());
    System.out.print("What month is the balance due?(Choose from 1-12) ");
    setM(keyboard.nextInt());
    System.out.print("What day is the balance due?(Choose from 1-31) ");
    setD(keyboard.nextInt());
    System.out.print("What year is the balance due? (Choose from 2011-2017) ");
    setY(keyboard.nextInt());
    
    System.out.println("Your invoice number is " + getInNum() +  " and your balance due is on " + getM() + "/" + getD() + "/" + getYy() + ".");
    

    你为全班做了这么多漂亮的二传手,却没用

    Scanner keyboard = new Scanner(System.in);
    System.out.print("Please type your invoice number: ");
    setInNum(keyboard.nextInt());
    System.out.print("What month is the balance due?(Choose from 1-12) ");
    setM(keyboard.nextInt());
    System.out.print("What day is the balance due?(Choose from 1-31) ");
    setD(keyboard.nextInt());
    System.out.print("What year is the balance due? (Choose from 2011-2017) ");
    setY(keyboard.nextInt());
    
    System.out.println("Your invoice number is " + getInNum() +  " and your balance due is on " + getM() + "/" + getD() + "/" + getYy() + ".");
    

    你为全班做了这么多漂亮的二传手,却没用

    Scanner keyboard = new Scanner(System.in);
    System.out.print("Please type your invoice number: ");
    setInNum(keyboard.nextInt());
    System.out.print("What month is the balance due?(Choose from 1-12) ");
    setM(keyboard.nextInt());
    System.out.print("What day is the balance due?(Choose from 1-31) ");
    setD(keyboard.nextInt());
    System.out.print("What year is the balance due? (Choose from 2011-2017) ");
    setY(keyboard.nextInt());
    
    System.out.println("Your invoice number is " + getInNum() +  " and your balance due is on " + getM() + "/" + getD() + "/" + getYy() + ".");
    

    你为全班做了这么多漂亮的二传手,却没用

    Scanner keyboard = new Scanner(System.in);
    System.out.print("Please type your invoice number: ");
    setInNum(keyboard.nextInt());
    System.out.print("What month is the balance due?(Choose from 1-12) ");
    setM(keyboard.nextInt());
    System.out.print("What day is the balance due?(Choose from 1-31) ");
    setD(keyboard.nextInt());
    System.out.print("What year is the balance due? (Choose from 2011-2017) ");
    setY(keyboard.nextInt());
    
    System.out.println("Your invoice number is " + getInNum() +  " and your balance due is on " + getM() + "/" + getD() + "/" + getYy() + ".");
    

    这是失败的,因为对
    displayInfo
    的调用发生在对所有setter方法的调用之后。这需要先发生,否则二传手就没什么事可做了

    我认为在构造函数中调用那些setter方法是错误的。一旦有了需要传递给它的值,就需要调用每个函数

    因此,您可能为输入的每个值都有一个局部变量,然后将其传递给setter

    int invoiceNumber = keyboard.nextInt();
    setInNumber(invoiceNumber);
    

    依此类推所有其他字段。

    这是失败的,因为对
    displayInfo
    的调用发生在对所有setter方法的调用之后。这需要先发生,否则二传手就没什么事可做了

    我认为在构造函数中调用那些setter方法是错误的。一旦有了需要传递给它的值,就需要调用每个函数

    因此,您可能为输入的每个值都有一个局部变量,然后将其传递给setter

    int invoiceNumber = keyboard.nextInt();
    setInNumber(invoiceNumber);
    

    依此类推所有其他字段。

    这是失败的,因为对
    displayInfo
    的调用发生在对所有setter方法的调用之后。这需要先发生,否则二传手就没什么事可做了

    我认为在构造函数中调用那些setter方法是错误的。一旦有了需要传递给它的值,就需要调用每个函数

    因此,您可能为输入的每个值都有一个局部变量,然后将其传递给setter

    int invoiceNumber = keyboard.nextInt();
    setInNumber(invoiceNumber);
    

    依此类推所有其他字段。

    这是失败的,因为对
    displayInfo
    的调用发生在对所有setter方法的调用之后。这需要先发生,否则二传手就没什么事可做了

    我认为在构造函数中调用那些setter方法是错误的。一旦有了需要传递给它的值,就需要调用每个函数

    因此,您可能为输入的每个值都有一个局部变量,然后将其传递给setter

    int invoiceNumber = keyboard.nextInt();
    setInNumber(invoiceNumber);
    
    其他所有领域都是如此