我正在创建一个程序,用户输入名称,P,S或T,以及轮数。然后它将检查它们是否相等(根据选择的条件获胜?这是一个摇滚,纸张,剪刀游戏)。然后,如果它们相同,我希望它在iChoice
中打印iComputerChoice
和JOPtionPane
的替换版本。 (因为在这种情况下,它只会打印P,S或T)。这些是替代品:
“P”=“纸”//“S”=“剪刀”//“T”=“石头”
以下是代码块:
if(iComputerchoice.equals(iChoice))
{
JOptionPane.showMessageDialog (null, "Computer: " +iComputerchoice + "\n" + "" +iName + ": " + "" +iChoice + "\nIt's a tie!", "Result", JOptionPane.PLAIN_MESSAGE);
}
实施例: iComputerchoice = P. iChoice = P
计算机=纸张//你的名字=纸张//这是一个平局!
我知道这样做的方法,但它有点长。我想知道是否有更短的方法来做到这一点。谢谢!
答案 0 :(得分:1)
在很多方面。例如,编写一个将为您进行转换的方法:
public class TestLocation extends FragmentActivity implements
LocationListeners {
private static final long MIN_DISTANCE_CHANGE_FOR_UPDATES = 80;
private static final long MIN_TIME_BW_UPDATES = 8000 * 60 * 1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
isNetworkEnabled = locationManager
.isProviderEnabled(LocationManager.NETWORK_PROVIDER);
if (isNetworkEnabled) {
locationManager.requestLocationUpdates(
LocationManager.NETWORK_PROVIDER,
MIN_TIME_BW_UPDATES,
MIN_DISTANCE_CHANGE_FOR_UPDATES, this);
if (locationManager != null) {
location = locationManager
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
if (location != null) {
latitude = location.getLatitude();
longitude = location.getLongitude();
}
}
}
}
然后在更新JOptionPane中的值时使用convertChoice(iChoice)而不是iChoice。
答案 1 :(得分:0)
嗯,我不知道这是一个好/坏的方式,但只是好奇所以尝试了这一点,你可以使用HashMap
来编写你的“键”并在需要时显示它的值。
Map<String,String> map=new HashMap();
map.put("p","paper");
map.put("t","Stone");
map.put("s","Scissor");
演示简短示例:
Scanner scan=new Scanner(System.in);
System.out.println("T-Stone..P-paper..S-Scissors..enter");
String choice=scan.nextLine().toLowerCase().trim();
Map<String,String> map=new HashMap();
map.put("p","paper");
map.put("t","Stone");
map.put("s","Scissor");
//s b p-> scissor beats paper
final String test="s b p , t b s , p b t";
String vals[]={"p","s","t"};
String ichoice=vals[new Random().nextInt(3)+0];//((max - min) + 1) + min
if(ichoice.equalsIgnoreCase(choice)){
JOptionPane.showMessageDialog(null," Tie !!--"+map.get(ichoice));
System.exit(1);
}
String match=ichoice+" b "+choice;
if(test.contains(match))
JOptionPane.showMessageDialog(null," CPU Won!!--!"+map.get(ichoice));
else
JOptionPane.showMessageDialog(null," YOU Won!!--"+map.get(ichoice));