在java中的单独if语句中使用相同的值
我正在处理一个有菜单选项1的问题。要对单词进行洗牌,请选择2以获取洗牌单词,并尝试通过更改数组索引号来修复它 我做了这部分在java中的单独if语句中使用相同的值,java,Java,我正在处理一个有菜单选项1的问题。要对单词进行洗牌,请选择2以获取洗牌单词,并尝试通过更改数组索引号来修复它 我做了这部分if(input==1)shuffle这个词 我现在必须在if(input==2)部分中使用相同的洗牌词,并尝试修复它。如果(输入==1),有谁能指导我如何使用此块中的相同值 import java.util.Scanner; 导入java.io.*; 导入java.util.*; 公共类项目2{ 公共静态void main(字符串[]args){ while(true){
if(input==1)
shuffle这个词
我现在必须在if(input==2)
部分中使用相同的洗牌词,并尝试修复它。如果(输入==1),有谁能指导我如何使用此块中的相同值
import java.util.Scanner;
导入java.io.*;
导入java.util.*;
公共类项目2{
公共静态void main(字符串[]args){
while(true){
System.out.println(“从下面选择一项:\n”);
系统输出打印项次(“(1)混合”);
System.out.println(“(2)Solve”);
系统输出打印项次(“(3)退出”);
int输入;
扫描仪扫描=新扫描仪(System.in);
输入=scan.nextInt();
弦乐队;
字符串混合词;
char orig_团队[];
char mix_团队[];
布尔结果;
//系统输出打印项次(输入);
如果(输入=1){
团队=来源();
系统输出打印(团队);
mix_word=mix(团队);
System.out.println(混合词);
orig_team=team.toCharArray();
mix_team=mix_word.toCharArray();
int arg_length=mix_team.length;
}
如果(输入=2){
}
如果(输入=3){
打破
}
if(input>3 | | input这是switch
语句的一个相当病态的用例,但您可以利用下拉菜单执行以下操作:
switch(input) {
case 1:
team = orig();
System.out.println(team);
mix_word = mix(team);
System.out.println(mix_word);
orig_team = team.toCharArray();
mix_team = mix_word.toCharArray();
arg_length = mix_team.length;
// No break; here!
case 2:
// do the rest of your thing as if it were case 2
break;
case 3:
break;
default:
System.out.println("input accurate numbers 1 or 2 or 3");
}
这是switch
语句的一个相当病态的用例,但您可以利用下拉菜单执行以下操作:
switch(input) {
case 1:
team = orig();
System.out.println(team);
mix_word = mix(team);
System.out.println(mix_word);
orig_team = team.toCharArray();
mix_team = mix_word.toCharArray();
arg_length = mix_team.length;
// No break; here!
case 2:
// do the rest of your thing as if it were case 2
break;
case 3:
break;
default:
System.out.println("input accurate numbers 1 or 2 or 3");
}
在每个循环周期(处理单个用户输入)中声明变量,因此它们的范围(访问范围)仅限于该周期
如果在while循环之外声明变量,它们的作用域将延伸到整个循环(直到方法结束):
还要确保对它们进行初始化(例如使用默认值),否则程序将无法编译
另一种方法是创建成员变量或类变量,这将具有自动初始化和更大范围的优点。在每个循环周期(处理单个用户输入)中,您声明变量,因此它们的范围(访问范围)仅限于该周期
如果在while循环之外声明变量,它们的作用域将延伸到整个循环(直到方法结束):
还要确保对它们进行初始化(例如使用默认值),否则程序将无法编译
另一种方法是创建成员变量或类变量,这将具有自动初始化和更大范围的优势。我建议您使用开关
statement@PeterLawrey,我正在使用switch语句,仍然有问题。我在两个块中为同一个变量得到不同的值。它必须相同。我的guess是您没有在case语句之间放置一个中断;
。如果您忘记这样做,它将从一个case运行到另一个。@PeterLawrey您是否可能忽略了小的while(true)
开头?我建议您使用开关
statement@PeterLawrey,我正在使用switch语句,仍然有问题。我在两个块中为同一变量获取不同的值。它需要相同。我猜您没有在case语句之间放置中断;
。如果您忘记这样做,它将从一个开始运行从一个案例到另一个案例。@PeterLawrey在开始时你可能忽略了小的(true)
?我做了这个switch语句。在案例2中,我需要能够使用与案例1相同的值。当我输入2时,值会发生变化。我这样做了,在案例2中,我得到了:System.out.println(mix_word);我得到这个错误:javac Project2.java Project2.java:41:变量mix_-word可能尚未初始化System.out.println(mix_-word);只要将mix_word初始化为某个默认值,以防出现在案例3
中。我执行了此开关语句。在案例2中,我需要能够使用与案例1相同的值。当我输入2时,值会发生变化。我执行了此操作,在案例2中,我有以下内容:System.out.println(mix_word);我得到了这个错误:javac Project2.java Project2.java:41:变量mix_-word可能尚未初始化System.out.println(mix_-word);如果您在案例3
中,只需将mix_-word初始化为某个默认值即可。
public static void main(String[] args) {
String team = "";
String mix_word = "";
char orig_team[] = null;
char mix_team[] = null;
boolean Result = false;
while (true) {
// ** your usual input handling here **
}
}