首先我要解释下字母在机器中都是以Unicode的形式储存的,一个数字会指向一个字母。上图是一部分的对应关系,你可以看到a=97, A=65,他们之间的差是32,而且是个衡量。
创新互联主营阿拉善盟网站建设的网络公司,主营网站建设方案,重庆APP开发,阿拉善盟h5成都微信小程序搭建,阿拉善盟网站营销推广欢迎阿拉善盟等地区企业咨询
用java编写就是
public class lowerCasetoCapital {
public static void main(String[] args) {
System.out.println('a' - 'A');
ltoc('a');
ltoc('z');
}
public static void ltoc(char ch) {
ch -= 32;
System.out.println(ch);
}
}
输出:
32
A
Z
import java.util.Scanner;
public class CharDemo {
public static void main(String[] args) {
System.out.println("请输入一段字符串");
Scanner input = new Scanner(System.in);
String str = input.nextLine();
char[] cs = str.toCharArray();//字符串到字符数组
for (int i = 0; i cs.length-1; i++) {
if(cs[i]=='a'){//提高性能,减少循环次数,如果字母是a就不管了,直接进行下次循环
continue;
}
boolean flag = false;//没有找到相同的字母 表示为false
for (int j = i+1; j cs.length; j++) {
if(cs[i]== cs[j]){
cs[j]='a';//找到后,修改为字符'a'
flag = true;//找到了相同的字符就吧flag修改为true
}
}
if(flag){//如果找到了.那么就修改cs[i]也为字符'a'
cs[i] = 'a';
}
}
System.out.println(new String(cs));
}
}
运行测试
请输入一段字符串
abcdce
abadae
public class Test{
public static void main(String[] args){
String s = "a" ;
System.out.print(s) ;
s=s.toUpperCase();
System.out.println("转换为大写字母为:"+s) ;
}
}
刚写的有点错误,修改了一下.
我试过了,能运行成功.
你试下看!!!
获取小写字母的assic码减去32就是大写字幕的assic码了
例如:
public class Test {
public static void main(String args[]) {
char ca = 'a';
int ia = (int)ca - 32;
char ba = (char)ia;
System.err.println(ba);
}
}
输出的就是a的大写A
题目分析:
分析题目要求,应该从标准输入接受一个小写字母;
对法输入进行合法性判断。对于非法输入显示错误信息,提示用户重新输入;
编码思路
读取标准输入使用Scanner,并且在使用完在finally中进行close
因为非法输入需要重新输入,所以使用while循环。在非法输入时,打印提示信息,并用continue重新接受输入。在合法输入时,进行字母大小写转换,并用break跳出循环;
因为字母的ASCII码整数表示是按照字母顺序连续的,所以可以使用差值的方法进行小写字母转换大写字母。
示例代码
public static void main(String[] args) {
Scanner scanner = null;
try {
while (true) {
System.out.println("请输入一个小写字母:");
scanner = new Scanner(System.in);
String line = scanner.nextLine();
char[] input = line.toCharArray();
if (input.length != 1) {
System.out.println("输入长度有误,请重新输入!");
continue;
} else {
char lower = input[0];
if (lower 'a' lower 'z') {
char upper = (char) (lower - 'a' + 'A');
System.out.println(lower + "的大写字母是" + upper);
break;
}else{
System.out.println("输入的不是小写字母,请重新输入!");
continue;
}
}
}
} finally {
if (scanner != null)
scanner.close();
}
}
public class TestChange {
public static void main(String[] args) {
int a=55;
int b=66;
int temp;//用于交换时存放的临时变量
System.out.println("交换之前a="+a+",b="+b);
//-------------交换 start-------------
temp=a;
a=b;
b=temp;
//-------------交换 end---------------
System.out.println("交换之后a="+a+",b="+b);
}
}