尝试将字符串数组的索引值与int值进行比较
所以我试图将字符串数组的索引与预定值进行比较,以便它可以返回基于排名的卡的类型。我知道下面的方法是比较实际的字符串和数字,我只是不知道如何比较实际的索引值和数字。尝试将字符串数组的索引值与int值进行比较
public String findFaceValue()
{
String faceValueArray[] = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"
, "Ten", "Jack", "Queen", "King"};
for(int i = 0; i < faceValueArray.length; ++i)
{
if (faceValueArray[i] == rank)
return faceValueArray[i];
}
return "Not a valid card";
}
所以我想字符串数组的索引与预定值,以便它可以返回卡的类型,它会根据等级
我如果你只是想检查一个给定的索引是否能给你一张有效的卡片。如果是,请返回卡的名称(Rank),否则返回“不是有效的卡”。这是你可以做什么:
public String findFaceValue(int index)
{
String faceValueArray[] = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven",
"Eight", "Nine", "Ten", "Jack", "Queen", "King"};
if (index < 0 || index >= faceValueArray.length)
return "Not a valid card";
return faceValueArray[index];
}
好了,排名仅仅是任意的,例如1到13之间的数字,如果是3我希望程序返回“三公”。
为了抵消指数,只是将其更改为:
if (index < 1 || index > faceValueArray.length)
return "Not a valid card";
return faceValueArray[index-1];
这就是它,但我想到了我自己。不管怎么说,还是要谢谢你! –
@MemeLord无论如何,我会建议你为'Card'设置一个类,然后在'Card'类中写入属性。 – user3437460
我将卡片设置为一个班级,这只是一个更大的项目的一部分。 –
当比较Java中的字符串时,您需要使用str1.equals(str2)
。在你的情况(假设rank
是String
:
public String findFaceValue(String rank)
{
String faceValueArray[] = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"
, "Ten", "Jack", "Queen", "King"};
for(int i = 0; i < faceValueArray.length; ++i)
{
if (faceValueArray[i].equals(rank))
return faceValueArray[i];
}
return "Not a valid card";
}
如果你想要回卡的数值(ACE = 0,两= 1,...,杰克= 9,等等),你可以这样做:
public String findFaceValue(int rank)
{
String faceValueArray[] = {"Ace", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"
, "Ten", "Jack", "Queen", "King"};
if(rank < faceValueArray.length && rank >= 0)
return faceValueArray[rank];
return "Not a valid card";
}
试试这个,
String Name = // insert code here
int index = -1;
for (int i=0;i<arrayName.length;i++) {
if (arrayName[i].equals(Name)) {
index = i;
break;
}
}
另外,还可以用比较来比较(它比较两个字符串,它返回一个号码),
String str1 = "String method tutorial";
String str2 = "compareTo method example";
int var1 = str1.compareTo(str2);
System.out.println("str1 & str2 comparison: "+var1);
什么是“等级”? – shmosel
@Meme Lord你是什么意思,通过比较卡的索引值。你的意思是卡的个人价值,例如,Ace是排名最高的? – user3437460
好吧,所以'rank'只是1和13之间的任何数字,所以例如如果它是3我希望程序返回“三”。 –