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语句的同时进行更正呢