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); 

  1. 它是cards.length() ,而不是cards.lengthlengthjava.lang.String方法 ,不是属性 )。

  2. 它是System.out (大写’s’),而不是system.out 。 请参阅java.lang.System 。

  3. 它是

     for(int a = 0, b = 1; a 

     for(int a = 0, b = 1; a 
  4. 从句法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循环。

  1. 在第一个分号之前是初始化部分。
  2. 在第一个分号之后和第二个分号之前是条件部分(必须导致布尔值)。
  3. 第二个分号后面是变量操作部分(增量/减量部分)。

如果您已对多个变量进行初始化或操作多个变量,则可以通过用逗号(,)分隔它们来实现它。

 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