here are the two classes:
import static java.lang.System.*;
public class Lab07e
{
public static void main( String args[] )
{
//add test cases
MorseCode test = new MorseCode(‘A’);
out.println(test);
out.print(+letter+”is”+getMorseCode());
test = new MorseCode(‘T’);
out.println(test);
out.print(+letter+”is”+getMorseCode());
test = new MorseCode(‘Y’);
out.println(test);
out.print(+letter+”is”+getMorseCode());
test = new MorseCode(‘H’);
out.println(test);
out.print(+letter+”is”+getMorseCode());
test = new MorseCode(‘D’);
out.println(test);
out.print(+letter+”is”+getMorseCode());
}
}
and
import static java.lang.System.*;
public class MorseCode
{
private char letter;
public MorseCode()
{
}
public MorseCode(char let)
{letter=let;
}
public void setChar(char let)
{letter=let;
}
public String getMorseCode()
{
String morse=”";
switch(x)
{case’A':”.-”;break;
case’B':…;break;
case’C':-.-.;break;
case’D':-..;break;
case’E':.;break;
case’F':..-.;break;
case’G':–.;break;
case’H':….;break;
case’I':..;break;
case’J':.—;break;
case’K':-.-;break;
case’L':.-..;break;
case’M':–;break;
case’N':-.;break;
case’O':—;break;
case’P':.–.;break;
case’Q':–.-;break;
case’R':.-.;break;
case’S':…;break;
case’T':-;break;
case’U':..-;break;
case’V':…-;break;
case’W':.–;break;
case’X':-..-;break;
case’Y':-.–;break;
case’Z':–..;break;
case’1′:—–;break;
case’2′:..—;break;
case’3′:…–;break;
case’4′:….–;break;
case’5′:…..;break;
case’6′:-….;break;
case’7′:–…;break;
case’8′:—..;break;
case’9′:—-.;break;
case’0′:—–;break;
return morse;
}
public String toString()
{
return letter + ” is ” + getMorseCode() + ” in morse!\n”;
}
}
it is supposed to translate the letter i have in the test cases into morse code
something is wrong with the class with all the switch cases
can someone help me please?

Java is so verbose! Here’s a nice little 3 liner to convert a number to morse code in C:
main(c){for(;c=c?c:(c=toupper(getch())-32)?

“•ƒŒKa`^ZRBCEIQiw#S#nx(37+$6-2&@/4)’18=,*%.:0;?5″
[c-12]-34:-3;c/=2)putch(c/2?46-c%2:0);}
except stupid yahoo answers won’t show it all
Your cases all need to assign a string to morse (or just return the string, which means no break needed).
That would be okay for the current object design, with only one character to be “morsed”. To expand the class later to support converting whole strings, I would make this a private or protected method with a char argument and call it for each character that needed converting.
Anyway, try something like:
case’A': return “.-”;
case’B': return “…”;
…etc.
default: return ” “;
Or you could use the longer
case’A': morse = “.-”; break;
case’B': morse = “…”; break;
…etc.
default: morse = ” “; break;