2015-03-19 1 views
1

je ne peux pas sembler obtenir le bas "i" pour lier à une variable dans la boucle for ci-dessous où ai-je eu tort ?? J'ai essayé de le modifier changer la variable et mettre la variable au-dessus de la boucle tout ce que je reçois est erreurne peut pas être résolu à une variable dans une boucle for dans une boucle

aussi je suis en utilisant Eclipse luna

import java.util.Scanner; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 
public class AssignmentProgramming { 

public static void main(String[] args) throws IOException { 
    // TODO Auto-generated method stub 
    Scanner sc = new Scanner(System.in); 

    System.out.println("Please enter a string"); 


    BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
    String data = reader.readLine(); 


    char ch =(char) System.in.read(); 

    int letters=0; 

    for(int i=0; i<data.length(); i++); 
    { 
     char c=data.charAt(i);//<-- This i here 
     if (c==ch); 
     {letters++; 
    } 



     } 
    System.out.println(letters); 
    } 

    } 

Répondre

6

supprimer virgule ; à la fin de la boucle for

for(int i=0; i<data.length(); i++); 
           ^

et à if déclaration

if (c==ch); 
     ^
+4

Même ici: 'si (c == ch);' – pzaenger

+0

ah bonne prise @pzaenger – Baby

+0

Merci beaucoup pour une solution simple –

1

Votre problème se trouve sur la ligne 22 du code d'origine. À plusieurs endroits, vous avez accidentellement ajouté un point-virgule avant le corps de la boucle, manquant ainsi la déclaration de la variable. J'ai joint un edit refactorisé et corrigé de votre code:

import java.util.Scanner; 
import java.io.BufferedReader; 
import java.io.IOException; 
import java.io.InputStreamReader; 

public class AssignmentProgramming { 

    public static void main(String[] args) throws IOException { 
     Scanner sc = new Scanner(System.in); 

     System.out.println("Please enter a string"); 

     BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); 
     String data = reader.readLine(); 

     char ch =(char) System.in.read(); 

     int letters=0; 

     for(int i=0; i<data.length(); i++) { 
      char c=data.charAt(i);//<-- This i here 
      if (c==ch) 
       letters++; 
     } 
     System.out.println(letters); 
    } 
} 

J'espère que cela vous a aidé, et bonne chance.

+0

merci beaucoup beaucoup apreciated –