Using a switch in strings

Trying to use a switch in strings, first inserting a string in char, and then apply the switch, but still haven't done it .... here is my code ..

import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import javax.swing.JOptionPane; class HappyBirthday { public static void main(String[] args) throws IOException { String Month; char[] Months = Month.toCharArray(); BufferedReader dataIn = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Please enter your month."); Month = JOptionPane.showInputDialog("enter month"); String month1 = { "January", "feb"}; char[] month2 = month1.toCharArray(); // String s=month1.equals(Month); // System.out.print(month2Array[0]); switch (month2) { case 0: System.out.println("kool"); break; case 1: System.out.println("not kool"); break; default: } } } /** * if (month1[1].equals(Month)) System.out.println("kool"); else * if(month1[0].equals(Month)) System.out.println("kooooooooooooool"); else * System.out.println("Big kooooool"); **/ 
+2
java switch-statement
source share
4 answers

Look at a great article on this.

+4
source share

Note that line inclusion will be supported in Java 7.

+1
source share

Currently, you cannot switch to String . The language specification clearly shows that you can switch on:

JLS 14.11 switch

 SwitchStatement: switch ( Expression ) SwitchBlock 

The Expression type must be char , byte , short , int , Character , byte , short , Integer or enum , or a compile-time error occurs.

Depending on what you want to do, you can switch on each char String :

  String s = "Coffee, tea, or me?"; int vowelCount = 0; int punctuationCount = 0; int otherCount = 0; for (char letter : s.toUpperCase().toCharArray()) { switch (letter) { case 'A': case 'E': case 'I': case 'O': case 'U': vowelCount++; break; case ',': case '.': case '?': punctuationCount++; break; default: otherCount++; } } System.out.printf("%d vowels, %d punctuations, %d others", vowelCount, punctuationCount, otherCount ); // prints "7 vowels, 3 punctuations, 9 others" 
+1
source share

You cannot include the type char []. Turn on char [0] and use case 'J': etc. (Although - since several months begin with the same letter, the algorithm will be suboptimal)

0
source share

All Articles