Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.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_Variables_If Statement - Fatal编程技术网

Java *此处插入单词*无法解析为变量

Java *此处插入单词*无法解析为变量,java,variables,if-statement,Java,Variables,If Statement,我正在为学校做一个项目,似乎找不到这个错误的原因。我对编程非常陌生,非常感谢您的帮助。先谢谢你 import java.util.Scanner; public class Lemonade { public static void main(String[] args) { Scanner user = new Scanner(System.in); int lemons_per_pitcher = 12; int spoons_per_bag = 1000;

我正在为学校做一个项目,似乎找不到这个错误的原因。我对编程非常陌生,非常感谢您的帮助。先谢谢你

import java.util.Scanner;
 public class Lemonade {

public static void main(String[] args) {
    Scanner user = new Scanner(System.in);
    int lemons_per_pitcher = 12;
    int spoons_per_bag = 1000;
    int spoons_per_pitcher = 50;
    System.out.println("Enter the amount of lemons you have.");
    int lemon = user.nextInt();
    System.out.println("Enter the amount of bags of sugar you have.");
    int bags = user.nextInt();
    int spoons = bags * 1000;
    int sugar = spoons / 50;
    int lemons2 = lemon / 12;
    if( lemons2 > sugar){
        int pitcher = lemons2;
    }else{
        int pitcher = sugar;
    }
    if( lemon < 12 || bags < 1){
        System.out.println("You can make a maximum of 0 pitchers");
    } else{
        System.out.println("This is the maximum amount of pitchers you can         make is: " + pitcher);
    }
}
import java.util.Scanner;
公共级柠檬水{
公共静态void main(字符串[]args){
扫描仪用户=新扫描仪(System.in);
每罐柠檬数=12;
每袋汤匙数=1000;
int勺子每罐=50;
System.out.println(“输入你有多少柠檬。”);
int lemon=user.nextInt();
System.out.println(“输入您的糖袋数量”);
int bags=user.nextInt();
整匙=袋*1000;
int糖=汤匙/50;
int lemons2=lemon/12;
如果(柠檬2>糖){
int-pitcher=lemons2;
}否则{
int pitcher=糖;
}
如果(柠檬<12 | |袋<1){
System.out.println(“最多可以制作0个投手”);
}否则{
System.out.println(“这是您可以制作的最大投手数量:“+pitcher”);
}
}

}

pitcher
是一个局部值,所以您可以在main方法中定义它

试试这个:

public static void main(String[] args) {
        int pitcher;
        Scanner user = new Scanner(System.in);
        int lemons_per_pitcher = 12;
        int spoons_per_bag = 1000;
        int spoons_per_pitcher = 50;
        System.out.println("Enter the amount of lemons you have.");
        int lemon = user.nextInt();
        System.out.println("Enter the amount of bags of sugar you have.");
        int bags = user.nextInt();
        int spoons = bags * 1000;
        int sugar = spoons / 50;
        int lemons2 = lemon / 12;
        if (lemons2 > sugar) {
            pitcher = lemons2;
        } else {
            pitcher = sugar;
        }
        if (lemon < 12 || bags < 1) {
            System.out.println("You can make a maximum of 0 pitchers");
        } else {
            System.out
                    .println("This is the maximum amount of pitchers you can         make is: "
                            + pitcher);
        }
    }
在您的代码中:

if( lemons2 > sugar){
    int pitcher = lemons2;
}else{
    int pitcher = sugar;
} // pitcher no more exists after block

pitcher
是一个局部值,所以您可以在main方法中定义它

试试这个:

public static void main(String[] args) {
        int pitcher;
        Scanner user = new Scanner(System.in);
        int lemons_per_pitcher = 12;
        int spoons_per_bag = 1000;
        int spoons_per_pitcher = 50;
        System.out.println("Enter the amount of lemons you have.");
        int lemon = user.nextInt();
        System.out.println("Enter the amount of bags of sugar you have.");
        int bags = user.nextInt();
        int spoons = bags * 1000;
        int sugar = spoons / 50;
        int lemons2 = lemon / 12;
        if (lemons2 > sugar) {
            pitcher = lemons2;
        } else {
            pitcher = sugar;
        }
        if (lemon < 12 || bags < 1) {
            System.out.println("You can make a maximum of 0 pitchers");
        } else {
            System.out
                    .println("This is the maximum amount of pitchers you can         make is: "
                            + pitcher);
        }
    }
在您的代码中:

if( lemons2 > sugar){
    int pitcher = lemons2;
}else{
    int pitcher = sugar;
} // pitcher no more exists after block

问题在于这些条件:

if( lemons2 > sugar){
    int pitcher = lemons2;
}else{
    int pitcher = sugar;
}
当您声明pitcher时,您将其范围限制为仅在直接括号内。也就是说,唯一可以使用可变投手的地方是:

if( lemons2 > sugar){
    int pitcher = lemons2; //Here
}else{
    int pitcher = sugar; //And here
}
在其他任何地方调用它都会给您带来错误

您应该做的是在第一个条件的正上方声明pitcher:

int pitcher = 0;
if( lemons2 > sugar){
    pitcher = lemons2;
}else{
    pitcher = sugar;
}

问题在于这些条件:

if( lemons2 > sugar){
    int pitcher = lemons2;
}else{
    int pitcher = sugar;
}
当您声明pitcher时,您将其范围限制为仅在直接括号内。也就是说,唯一可以使用可变投手的地方是:

if( lemons2 > sugar){
    int pitcher = lemons2; //Here
}else{
    int pitcher = sugar; //And here
}
在其他任何地方调用它都会给您带来错误

您应该做的是在第一个条件的正上方声明pitcher:

int pitcher = 0;
if( lemons2 > sugar){
    pitcher = lemons2;
}else{
    pitcher = sugar;
}

在我的程序中没有向左间隔的意思。在我的程序中没有向左间隔的意思。我对这个很陌生,确切地知道“局部”变量是什么,非常感谢。哦,好的,我现在明白了。那么,我如何去纠正它,同时将它分配给if语句呢?我对这方面非常陌生,确切地知道“局部”变量是什么,非常感谢。哦,好的,我现在明白了。那么,如何在将其分配给if语句的同时进行更正呢