As I said before, how do I test if the entered character is one of the parameters? I've written this code, but it doesn't seem to run very well(or at all), no errors, however. Also, I need to use the basic code I've used here. Its for school and we lose points if we use things they haven't taught us (darn school).
class doody
{
public static void main(String[] args)
{ char i;
char input='D';
for(i='A';i<='Z';i++)//check if uppercase
{
if(input==i){
System.out.println("Uppercase");
switch(input){
case 'A':
case 'E':
case 'I':
case 'O':
case 'U':
System.out.println("Vowel"); break;
default: System.out.println("Not a vowel"); break;}
}
for(i='a';i<='z';i++)//check if lowercase
{
if(input==i){
System.out.println("Lowercase");
switch(input){
case 'a':
case 'e':
case 'i':
case 'o':
case 'u':
System.out.println("Vowel"); break;
default: System.out.println("Not a vowel"); break;
}}
for(i='0';i<='9';i++)//check if number
{
if(input==i)
System.out.println("Number");
}
}
}}}
Edit: Here is some code I threw together today. Much simpler. I don't know why this didn't occur to me earlier. It was probably because I was groggy, it was late.
class doody
{
public static void main(String[] args)
{
char input='$';//input here.
boolean lorn=false;
if(input>='a'&&input<='z')
{System.out.println("Lowercase");
lorn=true;
if(input=='a')System.out.println("Vowel.");
if(input=='e')System.out.println("Vowel.");
if(input=='i')System.out.println("Vowel.");
if(input=='o')System.out.println("Vowel.");
if(input=='u')System.out.println("Vowel.");
}
if(input>='A'&&input<='Z')
{System.out.println("Uppercase");
lorn=true;
if(input=='A')System.out.println("Vowel.");
if(input=='E')System.out.println("Vowel.");
if(input=='I')System.out.println("Vowel.");
if(input=='O')System.out.println("Vowel.");
if(input=='U')System.out.println("Vowel.");
}
if(input>='0'&&input<='9')
{
lorn=true;
System.out.println("Number");
}
if(lorn==false)System.out.println("It is a special character");
}
}
To check whether a character is in Uppercase or not in Java, use the Character. isUpperCase() method.
To check whether a character is in Lowercase or not in Java, use the Character. isLowerCase() method.
We'll need to use the isUpperCase method from the Ascii class to check if the first letter of a string is uppercase. This approach is practically identical to the core Java solution from chapter 2.1. If there is no particular reason, it is always better to use a solution that doesn't require additional dependencies.
If it weren't a homework, you could use existing methods such as Character.isDigit(char)
, Character.isUpperCase(char)
and Character.isLowerCase(char)
which are a bit "smarter", because they don't operate only in ASCII, but also in various charsets.
static final char[] VOWELS = { 'a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U' };
static boolean isVowel(char ch) {
for (char vowel : VOWELS) {
if (vowel == ch) {
return true;
}
}
return false;
}
static boolean isDigit(char ch) {
return ch >= '0' && ch <= '9';
}
static boolean isLowerCase(char ch) {
return ch >= 'a' && ch <= 'z';
}
static boolean isUpperCase(char ch) {
return ch >= 'A' && ch <= 'Z';
}
You don't need a for loop in your code.
Here is how you can re implement your method
Edit:
Here is hint for you to proceed, Following code snippet gives int
values for char
s
System.out.println("a="+(int)'a');
System.out.println("z="+(int)'z');
System.out.println("A="+(int)'A');
System.out.println("Z="+(int)'Z');
Output
a=97
z=122
A=65
Z=90
Here is how you can check if a number x
exists between two numbers say a
and b
// x greater than or equal to a and x less than or equal to b
if ( x >= a && x <= b )
During comparisons char
s can be treated as numbers
If you can combine these hints, you should be able to find what you want ;)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With