我不确定为什么我的Java代码不会编译,任何建议都会受到赞赏。
String rank = card.substring(0,1);
String suit = card.substring(1);
String cards = "A23456789TJQKDHSCl";
String[] name = {"Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King","Diamonds","Hearts","Spades","Clubs"};
String c ="";
for(int a = 0, b = 1; a<cards.length-1; b=a+1; a++;){
if(rank===cards.substring(a,b){
c+=name[a];
}
}
system.out.println(c);
答案 0 :(得分:20)
它是cards.length()
,而不是cards.length
(length
是<{1}}的方法,而不是属性< /强>)。
java.lang.String
(大写''),而不是System.out
。请参阅java.lang.System。
是
system.out
不
for(int a = 0, b = 1; a<cards.length()-1; b=a+1, a++){
从句法上讲,它是for(int a = 0, b = 1; a<cards.length-1; b=a+1; a++;){
,而不是if(rank == cards.substring(a,b)){
(双等于,不是三等于;缺少右括号),但要比较两个字符串是否相等,则需要使用{{1 }}:if(rank===cards.substring(a,b){
您应该考虑下载Eclipse,这是一个用于Java开发的集成开发环境(不仅仅是)。 Eclipse会在您键入时显示错误,并提供修复这些错误的帮助。这使得开始Java开发变得更加容易。
答案 1 :(得分:6)
而不是:
for(int a = 0, b = 1; a<cards.length-1; b=a+1; a++;){
应该是
for(int a = 0, b = 1; a<cards.length()-1; b=a+1, a++){
^ ^ ^
| | |
| | |
-------------------------------------------Note the changes
|
v |
if(rank==cards.substring(a,b){ |
-------------------------------------------------------------
|
v
System.out.println(c); //capital S in system
答案 2 :(得分:3)
for
循环中只允许使用两个分号。
如果您已经对多个变量进行初始化或操作多个变量,可以通过用逗号(,)分隔它们来实现它。
for(int i=0, j=5; i < 5; i++, j--)
注意:不允许以逗号分隔的多个条件。
for(int i=0, j=5; i < 5, j > 5; i++, j--) // This is NOT allowed.
答案 3 :(得分:1)
我认为这应该有效:
String rank = card.substring(0,1);
String suit = card.substring(1);
String cards = "A23456789TJQKDHSCl";
String[] name = {"Ace","Two","Three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King","Diamonds","Hearts","Spades","Clubs"};
String c ="";
for(int a = 0, b = 1; a<cards.length()-1; b=a+1, a++ )
{
if( rank.equals( cards.substring(a,b) ) )
{
c+=name[a];
}
}
System.out.println(c);
答案 4 :(得分:0)
你的for循环错了。试试:
for(int a = 0, b = 1; a<cards.length()-1; b=a+1, a++){
另外,System
代替system
和==
代替===
。
但我不确定你要做什么。
答案 5 :(得分:0)
for循环只能包含三个参数,你已经使用过4.请重新提出问题,你想要达到什么目的?
答案 6 :(得分:0)
也用逗号分隔增量。
for(int a = 0, b = 1; a<cards.length-1; b=a+1, a++)
答案 7 :(得分:0)
更改此行
for(int a = 0, b = 1; a<cards.length-1; b=a+1; a++;){
到
for(int a = 0, b = 1; a<cards.length-1, b=a+1; a++){
答案 8 :(得分:0)
您的for
循环格式不正确 - 它不能使用4个参数,您也不能将;
与for(int a = 0, b = 1; a<cards.length-1; a++)
结合起来。
使用:
{{1}}