Как следует из названия, эта программа используется для определения того, является ли число прописным, строчным или числовым. У меня возникли проблемы с поиском, как написать бегун этой программы. Любая помощь будет принята с благодарностью: ^)
ГЛАВНЫЙ КЛАСС:
import static java.lang.System.*;
import java.util.Scanner;
public class characteranalyzer
{
private char theChar;
public characteranalyzer(char c)
{
theChar = c;
}
public void setChar(char c)
{
theChar = c;
}
public char getChar()
{
char getChar = theChar;
return getChar;
}
public boolean isUpper()
{
if (((int)theChar)>64&&((int)theChar)<91){
boolean isUpper = true;
return isUpper;
}
else{
boolean isUpper = false;
return isUpper;
}
}
public boolean isLower()
{
if (((int)theChar)>96&&((int)theChar)<123){
boolean isLower= true;
return isLower;
}
else{
boolean isLower= false;
return isLower;
}
}
public boolean isNumber()
{
if (((int)theChar)>48 &&((int)theChar+48)<58){
boolean isNumber = true;
return isNumber;
}
else{
boolean isNumber= false;
return isNumber;
}
}
public int getASCII( )
{
return ((int)theChar);
}
public String toString()
{
if(isNumber()== true && isUpper() == false && isLower() == false){
String chartype = "a number";
return ""+getChar() + " is "+chartype+". ASCII == " + getASCII() + "\n";
}
else if(isNumber() == false && isUpper() == true && isLower() == false){
String chartype = "an uppercase character";
return ""+getChar() + " is "+chartype+". ASCII == " + getASCII() + "\n";
}
else if(isNumber()== false && isUpper() == false && isLower() == true){
String chartype = "a lowercase character";
return ""+getChar() + " is "+chartype+". ASCII == " + getASCII() + "\n";
}
return null;
}
}
КЛАСС RUNNER:
import static java.lang.System.*;
import java.util.Scanner;
public class characterrunner
{
public static void main ( String[] args )
{
Scanner keyboard = new Scanner(System.in);
out.print("Enter a letter :: ");
char letter = keyboard.next().charAt(0);
characteranalyzer test = new characteranalyzer(letter);
out.println(test); //A
out.print("Enter a letter :: ");
char letter2 = keyboard.next().charAt(0);
characteranalyzer test2 = new characteranalyzer(letter2);
out.println(test2); //l
out.print("Enter a letter :: ");
char letter3 = keyboard.next().charAt(0);
characteranalyzer test3 = new characteranalyzer(letter3);
out.println(test3); //a
out.print("Enter a letter :: ");
char letter4 = keyboard.next().charAt(0);
characteranalyzer test4 = new characteranalyzer(letter4);
out.println(test4); //7
out.print("Enter a letter :: ");
char letter5 = keyboard.next().charAt(0);
characteranalyzer test5 = new characteranalyzer(letter5);
out.println(test5); //D
out.print("Enter a letter :: ");
char letter6 = keyboard.next().charAt(0);
characteranalyzer test6 = new characteranalyzer(letter6);
out.println(test6); //2
out.print("Enter a letter :: ");
char letter7 = keyboard.next().charAt(0);
characteranalyzer test7 = new characteranalyzer(letter7);
out.println(test7); //X
out.print("Enter a letter :: ");
char letter8 = keyboard.next().charAt(0);
characteranalyzer test8 = new characteranalyzer(letter8);
out.println(test8); //Z
out.print("Enter a letter :: ");
char letter9 = keyboard.next().charAt(0);
characteranalyzer test9 = new characteranalyzer(letter9);
out.println(test9); //9
}
}
Я предлагаю использовать Character
потому что он имеет isUpperCase(char)
, isLowerCase(char)
и isDigit(char)
. Вы могли бы также использовать цикл,
Scanner keyboard = new Scanner(System.in);
while (true) {
System.out.println("Please enter a letter :: quit to stop");
String str = (keyboard.hasNextLine()) ? keyboard.nextLine()
: "quit";
if (str.equalsIgnoreCase("quit")) {
break;
}
char ch = str.charAt(0);
if (Character.isUpperCase(ch)) {
System.out.printf("%c is uppercase%n", ch);
} else if (Character.isLowerCase(ch)) {
System.out.printf("%c is lowercasee%n", ch);
} else if (Character.isDigit(ch)) {
System.out.printf("%c is a digit%n", ch);
} else {
System.out.printf("%c is not uppercase, lowercase "
+ "or a digit%n", ch);
}
}
? :
? :
условный оператор (или тройной) позволяет вам инициализировать String str
с "quit"
когда больше нет ввода из Scanner
.
Вы можете проверить значения ASCII:
если символ имеет значение ascii между 48 и 57 (оба включительно), то это число.
если он находится между 65 и 90 (оба включительно), то это верхний алфавит.
если он находится между 97 и 122 (оба включительно), то это строчный алфавит
вы можете ссылаться на эту ссылку для таблицы ASCII