Java for循环多变量
我不确定为什么我的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);
-
它是
cards.length()
,而不是cards.length
(length
是java.lang.String
的方法 ,不是属性 )。 -
它是
System.out
(大写’s’),而不是system.out
。 请参阅java.lang.System 。 -
它是
for(int a = 0, b = 1; a
不
for(int a = 0, b = 1; a
-
从句法
if(rank == cards.substring(a,b)){
,它是if(rank == cards.substring(a,b)){
,而不是if(rank===cards.substring(a,b){
(double equals,not triple equals; missing closing parenthesis),但要比较两个字符串是否相等,你需要使用equals()
:if(rank.equals(cards.substring(a,b))){
您应该考虑下载Eclipse ,它是一个用于Java开发的集成开发环境(不仅仅是)。 Eclipse会在您键入时显示错误,并提供修复这些错误的帮助。 这使得开始Java开发变得更加容易。
而不是: for(int a = 0, b = 1; a
它应该是
for(int a = 0, b = 1; a
只允许两个分号用于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.
我认为这应该有效:
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
for循环只能包含三个参数,你已经使用了4.请重新提出问题,你想要实现什么?
你的for循环是错误的。 试试:
for(int a = 0, b = 1; a
此外, System
而不是system
和==
而不是===
。
但我不确定你要做什么。
改变这一行
for(int a = 0, b = 1; a
至
for(int a = 0, b = 1; a
你的for
循环格式不正确 – 它不能带4个参数,你不能把两个结合起来;
就像你做的那样。
使用:
for(int a = 0, b = 1; a
用逗号分隔增量。
for(int a = 0, b = 1; a