Java for循环多个变量

时间:2013-02-07 13:41:52

标签: java

我不确定为什么我的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);

9 个答案:

答案 0 :(得分:20)

  1. 它是cards.length(),而不是cards.lengthlength是<{1}}的方法,而不是属性< /强>)。

  2. java.lang.String(大写''),而不是System.out。请参阅java.lang.System

  3. system.out

    for(int a = 0, b = 1; a<cards.length()-1; b=a+1, a++){
    
  4. 从句法上讲,它是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){

  5. 您应该考虑下载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循环中只允许使用两个分号。

  1. 在第一个分号之前是初始化部分。
  2. 在第一个分号之后和第二个分号之前是条件部分(必须导致布尔值)。
  3. 第二个分号后面是变量操作部分(增量/减量部分)。
  4. 如果您已经对多个变量进行初始化或操作多个变量,可以通过用逗号(,)分隔它们来实现它。

    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}}