Java-IF';输入';=';这';{将数组中的字符串存储到变量中}
我对编程比较陌生。 我现在正试图做一个程序,我正在想办法做点什么。我希望你们能帮我,因为我只是不知道怎么做 所以,首先,我制作了一个数组并填充了一些东西:Java-IF';输入';=';这';{将数组中的字符串存储到变量中},java,arrays,if-statement,store,Java,Arrays,If Statement,Store,我对编程比较陌生。 我现在正试图做一个程序,我正在想办法做点什么。我希望你们能帮我,因为我只是不知道怎么做 所以,首先,我制作了一个数组并填充了一些东西: String[] pizza = new String[10]; pizza[0] = "1- Cheese"; pizza[1] = "2- Wedge"; pizza[2] = "3- Bacon"; pizza[3] = "4- Hawaiian"; pizza[4] = "5- Vegetari
String[] pizza = new String[10];
pizza[0] = "1- Cheese";
pizza[1] = "2- Wedge";
pizza[2] = "3- Bacon";
pizza[3] = "4- Hawaiian";
pizza[4] = "5- Vegetarian";
pizza[5] = "6- Pepperoni";
pizza[6] = "7- Ham";
pizza[7] = "8- Apple";
pizza[8] = "9- Grape";
pizza[9] = "10- Italian";
我想让它成为一个IF语句(在一段时间内)。我把代码放在这里,然后解释
int pizzaCounter = 0;
while(pizzaCounter < 5)
{
Scanner pizzaPick = new Scanner(System.in);
int Pizzas = pizzaPick.nextInt();
if (Pizzas == 1)
{
*Store "1- Cheese" (From pizza[0]) into a variable*
pizzaCounter++;
}
if (Pizzas == 2)
{
*Store "2- Wedge" (From pizza[0]) into a variable*
pizzaCounter++;
}
if (Pizzas == 3) etc...
}
int pizzaccounter=0;
而(比萨饼计数器<5)
{
扫描仪pizzaPick=新扫描仪(System.in);
int Pizzas=pizzaPick.nextInt();
如果(比萨饼==1)
{
*将“1-奶酪”(来自pizza[0])存储到变量中*
pizzaccounter++;
}
如果(比萨饼==2)
{
*将“2-Wedge”(来自pizza[0])存储到变量中*
pizzaccounter++;
}
如果(比萨饼=3)等。。。
}
现在在'Insert somethine here'位,我想尝试将其设置为将数组(pizza)中的文本存储到某个变量中,以便稍后打印出来。。。例如,如果用户输入'1',则取“1-Cheese”,并将其存储在一个变量中,我可以稍后打印出来
另外,我想把它弄清楚,这样就不会有10条IF语句提示每个变量的事情
我不知道这是否可行,但非常感谢您的帮助!:D
我希望我在这里问的是可以理解的
如果可能的话,你能解释一下你在每个步骤中都做了什么,这样我才能真正理解发生了什么,也许以后会使用相同的代码,而不是仅仅复制和粘贴代码?我是个书呆子,所以我觉得我学的越多,以后能用的就越多。。。非常感谢D您可以用以下内容替换整个
if
语句系列:
string saveName = "";
if ((Pizzas >= 0) && (Pizzas <= 9)) {
saveName = pizza[Pizzas]; // This is "insert something here".
pizzaCounter++;
}
// Here, saveName has the pizza name.
string saveName=”“;
如果((比萨饼>=0)和(比萨饼0)和(比萨饼=pizzaList.length))
System.out.println(“无效的“+thisPizza”输入);
}
//输出所有比萨饼。
对于(int i=0;i
您可以将整个系列的if
语句替换为以下内容:
string saveName = "";
if ((Pizzas >= 0) && (Pizzas <= 9)) {
saveName = pizza[Pizzas]; // This is "insert something here".
pizzaCounter++;
}
// Here, saveName has the pizza name.
string saveName=”“;
如果((比萨饼>=0)和(比萨饼0)和(比萨饼=pizzaList.length))
System.out.println(“无效的“+thisPizza”输入);
}
//输出所有比萨饼。
对于(int i=0;i
String[]PIZZA\u LABELS=新字符串[]{“1-奶酪”,“2-楔形”…}
字符串标签;
而(比萨饼计数器<5)
{
扫描仪pizzaPick=新扫描仪(System.in);
int Pizzas=pizzaPick.nextInt();
label=PIZZA_LABELS[Pizzas-1];//1索引vs 0索引
...
系统输出打印项次(标签);
“如果”不见了。
(我鼓励您查看java.util.Map,寻找可能比标签数组更干净的数据结构)。String[]PIZZA\u LABELS=newstring[]{“1-Cheese”、“2-Wedge”…}
字符串标签;
而(比萨饼计数器<5)
{
扫描仪pizzaPick=新扫描仪(System.in);
int Pizzas=pizzaPick.nextInt();
label=PIZZA_LABELS[Pizzas-1];//1索引vs 0索引
...
系统输出打印项次(标签);
“如果”不见了。
(我鼓励您查看java.util.Map,寻找可能比标签数组更干净的数据结构)。不要在java中对本地原语使用大写单词(
Pizzas
)。通常,这些是类名
你想区分什么是相同的,而不管比萨饼的值是多少-
——例如,你每次都增加比萨饼计数器
——并且把它从if/else中去掉。如果你所需要做的只是得到比萨饼类型的名称,那么这里有几个例子说明你根本不需要一套比萨饼盒,你只需要分配给以后的任何用途
如果每个案例都有一些独特的东西,您可以使用开关
:
顺便说一句,您可以这样初始化阵列:
String eg[] = {
"one",
"two",
"three",
};
String[] strArray = {"one", "two", "three", ...};
在Java中,不要对本地原语使用大写的单词(
Pizzas
),通常这些都是类名
你想区分什么是相同的,而不管比萨饼的值是多少-
——例如,你每次都增加比萨饼计数器
——并且把它从if/else中去掉。如果你所需要做的只是得到比萨饼类型的名称,那么这里有几个例子说明你根本不需要一套比萨饼盒,你只需要分配给以后的任何用途
如果每个案例都有一些独特的东西,您可以使用开关
:
顺便说一句,您可以这样初始化阵列:
String eg[] = {
"one",
"two",
"three",
};
String[] strArray = {"one", "two", "three", ...};
您可以在这里做一些事情来优化代码。首先,放弃while循环,改为for循环,如下所示:
for (int i = 0; i < 5; i++) {
// Will loop 5 times
}
switch (pizzaPick.nextInt()) {
case 0:
// Do something
break;
case 1:
// Do something else
break;
case 2:
// Etc.
break
}
然而,我们实际上可以进一步优化它,这将完全不需要switch语句。不过,首先,我们需要一个变量来存储拾取的pizza。我们可以使用另一个数组,该数组将有5个元素长。按如下方式创建它:
String[] pickedPizzas = new String[5];
现在我们可以用它来存储拾取的披萨。然后我们可以在每个循环中执行此操作来保存拾取的披萨:
pickedPizzas[i] = pizza[pizzaPick.nextInt()];
如您所见,我们甚至不需要使用ifs或开关,因为我们可以使用赋值。我们可以使用括号语法继续优化数组。您可以像这样初始化数组:
String eg[] = {
"one",
"two",
"three",
};
String[] strArray = {"one", "two", "three", ...};
这节省了sp