java – Syntax error on token ;, { expected after this token in Random string creator

java – Syntax error on token ;, { expected after this token in Random string creator

In Java, you cannot directly write the executable statements in class. You need to move your code in a method. Only variables declaration is allowed outside the method/blocks. Just for the sake of testing, ,move everthing to main method. Try this:

  public class Orders {

        public static void main(String argsp[]) {
            String alphabet = abc;
            ArrayList<String> list = new ArrayList<String>();
            int n = alphabet.length();

            Random rand = new Random();
            for (int i = 0; i < 10000; i++){
               char a = alphabet.charAt(rand.nextInt(n));
               char b = alphabet.charAt(rand.nextInt(n));
               char c = alphabet.charAt(rand.nextInt(n));

               String s = Character.toString(a) + Character.toString(b) + Character.toString(c); 

               if(list.indexOf(s) == -1){
                   list.add(s);
               }
            }
            System.out.println(list);
        }

}

Note: system.out.println(arrayList); will throw an error because there is no varaible called arrayList, i think it should be replaced with variable list. Also system should be System.

In java you cant simply code loops and other actions as part of the class definition, but rather as method/constructor/block definitions inside the class

for (int i = 0; i < 10000; i++){
    char a = alphabet.charAt(rand.nextInt(n));
    char b = alphabet.charAt(rand.nextInt(n));
    char c = alphabet.charAt(rand.nextInt(n));

    String s = Character.toString(a) + Character.toString(b) + Character.toString(c); 

    if(list.indexOf(s) == -1){
        list.add(s);
    }
}
 system.out.println(arrayList);  

So this code should be in method/constructor/block.
For example in method

public void printList(){
 for (int i = 0; i < 10000; i++){
        char a = alphabet.charAt(rand.nextInt(n));
        char b = alphabet.charAt(rand.nextInt(n));
        char c = alphabet.charAt(rand.nextInt(n));

        String s = Character.toString(a) + Character.toString(b) + Character.toString(c); 

        if(list.indexOf(s) == -1){
            list.add(s);
        }
    }
     system.out.println(arrayList);  
}

Please refer this link for more details.

java – Syntax error on token ;, { expected after this token in Random string creator

You just need to write your code inside the main function.
You just miss the main function.

Your code

import java.util.*;
 public class Orders {//Include main function

 String alphabet = abc;
ArrayList<String> list = new ArrayList<String>();
int n = alphabet.length();

Random rand = new Random();
for (int i = 0; i < 10000; i++){
    char a = alphabet.charAt(rand.nextInt(n));
    char b = alphabet.charAt(rand.nextInt(n));
    char c = alphabet.charAt(rand.nextInt(n));

    String s = Character.toString(a) + Character.toString(b) + Character.toString(c); 

    if(list.indexOf(s) == -1){
        list.add(s);
    }
}
 system.out.println(arrayList);
}

Correct code

package testprob;
import java.util.*;
public class testprob {
public static void main(String arrg[]) {//you need to add main function 
     String alphabet = abc;
     ArrayList<String> list = new ArrayList<String>();
     int n = alphabet.length();

     Random rand = new Random();
     for (int i = 0; i < 10000; i++){
         char a = alphabet.charAt(rand.nextInt(n));
         char b = alphabet.charAt(rand.nextInt(n));
         char c = alphabet.charAt(rand.nextInt(n));

         String s = Character.toString(a) + Character.toString(b) + Character.toString(c); 

         if(list.indexOf(s) == -1){
             list.add(s);
         }
     }
      System.out.println(list);

}

}

Leave a Reply

Your email address will not be published.