我已经工作了好几个小时了,现在我有点卡住....请帮助我.我是一个完整的编程障碍.除了字母表之外,所有方法都可以正常工作.
它将接收两个字符(大写或小写)并返回由给定的char值范围组成的字符串.保持传递给方法的相同大小写(上部或下部).如果将大写char和小写char(每个中的一个)传递给方法,则将大写char转换为小写并使用小写范围.注意,范围将包括起始char和排除结束char.另外,观察如果给定的起始(第一个)char大于结束(第二个)char,例如'm'和'h',则该方法将返回一个空字符串,因为此范围内没有字符.
你能否就我如何在字母表方法上做到这一点给你一些帮助?
import java.util.*;
class CharacterOperations
{
public static void run()
{
int number=1;
Scanner scanner = new Scanner(System.in);
while(number > 0)
{
System.out.println("(1) Insert 1 to change a letter from its lower case value to its upper case value");
System.out.println("(2) Insert 2 to change a letter from its upper case value to its lower case value ");
System.out.println("(3) Insert 3 for the alphabet method (range of two letters) ");
System.out.println("Enter a number (or negative to quit): ");
number = scanner.nextInt();
if (number == 1)
{
System.out.print("Enter a lower case letter: ");
String a= scanner.next();
char letter = (char) a.charAt(0);
toUpper(letter);
}
else if (number == 2)
{
System.out.print("Enter an upper case letter: ");
String a= scanner.next();
char letter = (char) a.charAt(0);
toLower(letter);
}
else if (number == 3)
{
System.out.print("Enter an upper case or lower case letter: ");
System.out.print("Enter an upper case or lower case letter: ");
String a= scanner.next();
char letter1 = (char) a.charAt(0);
String b= scanner.next();
char letter2 = (char) b.charAt(0);
alphabet(letter1, letter2);
}
}
}
public static char toUpper(char letter)
{
int rep = ((int)letter - 32);
char ltr = (char)rep;
System.out.println("The letter "+ ltr + " integer representation is: " + rep);
return (char) ((int) letter -32);
}
public static char toLower(char letter)
{
int rep = (int)(letter + 32);
char ltr = (char)rep;
System.out.println("The letter " + ltr + " integer representation is: " + rep);
return (char) ((int) letter + 32);
}
public static String alphabet( char letter1, char letter2){
int rep1 = (int)letter1;
int rep2 = (int)letter2;
char ltr1 = (char)rep1;
char ltr2 = (char)rep2;
System.out.println("The letter " + ltr1 + " integer representation is: " + rep1);
System.out.println("The letter " + ltr2 + " integer representation is: " + rep2);
}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
使用char,你可以用它来获取下一个char等等.
char a = 'a';
a++; // now you have b
a++; // now you have c
Run Code Online (Sandbox Code Playgroud)
只需要执行一个循环就可以从开始到结束char.
for (char c = 'a'; c <= 'z'; c++) {
System.out.println(c);
}
Run Code Online (Sandbox Code Playgroud)
很简单^_^
| 归档时间: |
|
| 查看次数: |
14497 次 |
| 最近记录: |