I need the scanner to work with if choice equals, however this doesnt work, any suggestions to fix it?
I need it so when the input equals either 32, 64, 128, or 356 it will output the relevant lines, however i just get this when i run the code, Error:(18, 18) java cannot find symbol symbol: variable equals location: variable choice of type java.lang.string
package com.company; import java.util.Scanner; import java.util.Random; public class Main { public static final String ALPHA_CHARS = "0123456789abcdefghijklmnopqrstuvwxyz"; static Scanner scan = new Scanner(System.in); private static String getNum() { Random r = new Random(); int offset = r.nextInt(ALPHA_CHARS.length()); return ALPHA_CHARS.substring(offset, offset+1); } public static int Length = 0; public static void main(String[] args) { System.out.println("Choose the Strings length, It must be either 32, 64, 128 or 256 characters."); System.out.println("Enter a value."); String choice; choice = scan.nextLine(); if(choice.equals == 32) { System.out.println("Generating 32 Characters."); System.out.println(getNum()); } if(choice.equals == 64) { System.out.println("Generating 64 Characters."); } if(choice.equals == 128) { System.out.println("Generating 128 Characters."); } if(choice.equals == 256) { System.out.println("Generating 256 Characters."); } else { System.out.println("Choose a valid integer."); } } }
Advertisement
Answer
You are scanning a String
and comparing it to an int
. Besides, it is better to use else if
in such cases:
public static final String ALPHA_CHARS = "0123456789abcdefghijklmnopqrstuvwxyz"; static Scanner scan = new Scanner(System.in); private static String getNum() { Random r = new Random(); int offset = r.nextInt(ALPHA_CHARS.length()); return ALPHA_CHARS.substring(offset, offset+1); } public static int Length = 0; public static void main(String[] args) { System.out.println("Choose the Strings length, It must be either 32, 64, 128 or 256 characters."); System.out.println("Enter a value."); int choice; choice = scan.nextInt(); if(choice == 32) { System.out.println("Generating 32 Characters."); System.out.println(getNum()); }else if(choice == 64) { System.out.println("Generating 64 Characters."); }else if(choice == 128) { System.out.println("Generating 128 Characters."); }else if(choice == 256) { System.out.println("Generating 256 Characters."); }else { System.out.println("Choose a valid integer."); } }