1.
从键盘循环录入录入一个字符串
输入"end"表示结束 ,将字符串中大写字母变成小写字母,小写字母变成大写字母,其它字符用"*"代替,并统计字母的个数
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String next = sc.nextLine();
System.out.println("请输入一个字符串:");
//end结尾时继续输入
while(!next.endsWith("end")) {
next = next + sc.nextLine();
}
System.out.println("你输入的字符串为:"+next);
//调用转换方法
getUpperLower(next);
}
public static void getUpperLower(String string) {
char[] ch = string.toCharArray();
int count = 0;
//大小写数字进行转换
for(int i = 0; i < ch.length; i++) {
if(ch[i]>'A' && ch[i] < 'Z') {
//这里不能用lower方法,只能在原基础上变换
ch[i] = (char) (ch[i] + 32);
count++;
}else if(ch[i]>'a' && ch[i] < 'z') {
ch[i] = (char) (ch[i] - 32);
count++;
}else {
ch[i] = '*';
}
}
//拼接转换完的零散字符串
String string2 = "";
for(int k = 0; k<ch.length; k++) {
string2+=ch[k];
}
System.out.println("结果是:"+string2+",总共有"+count+"个字母");
}
2.
定义数字字符串数组{“010”,“3223”,“666”,“7890987”,“123123”}
判断该数字字符串数组中的数字字符串是否是对称(第一个数字和最后一个数字相等,第二个数字和倒数第二个数字是相等的,依次类推)的,并逐个输出,如:010 是对称的,3223 是对称的,123123 不是对称的,最终打印该数组中对称字符串的个数
public static void main(String[] args)
{
String[] strs = {"010","3223","666","7890987","123123"};
int count = 0;
for(int i=0;i<strs.length;i++){
char[] chs = strs[i].toCharArray();
int min,max;
for(min=0,max=chs.length-1;min<=max;min++,max--){
if(chs[min]!=chs[max]){
break;
}
}
if(min>=max){
count++;
System.out.println("第"+count+"个对称的数字字符是:"+strs[i]);
}
}
System.out.println("对称的数字字符共有:"+count+"个");
}
3.
键盘输入数据,将数据中的字符@,替换成* . 如果没有@,提示用户字符串不包含@,没有替换
public static void main(String[] args) {
System.out.println("请输入一个字符串:");
Scanner sc = new Scanner(System.in);
String next = sc.nextLine();
Change(next);
}
public static void Change(String string) {
char[] ch = string.toCharArray();
int flag = 0;
for (int i = 0; i < ch.length; i++) {
if (ch[i] == '@') {
ch[i] = '*';
flag = 1;
}
}
if (flag == 0) {
System.out.println("wu");
} else {
for (int i = 0; i < ch.length; i++) {
System.out.print(ch[i]);
}
}
}
4.
要求 : 计算你活了多少天
出生日期,今天的日期,两个日期的差值,就是你活了多少天
数学计算,日期不能计算,依靠毫秒值
出生日期用户输入.
public static void main(String[] args) throws ParseException {
Scanner sc = new Scanner(System.in);
System.out.println("请输入你的生日 格式: 2000-01-01");
//键盘输入,他的出生日期 (String)
String birthdayString = sc.nextLine();
//获取今日的日期对应毫秒值
long todayMillis = new Date().getTime();
//生日日期转成毫秒值
//先将字符串格式,转成日期Date
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Date birthdayDate = sdf.parse(birthdayString);
long birthdayMillis = birthdayDate.getTime();
//计算结果是毫秒值 (转成对应天数)
System.out.println( (todayMillis - birthdayMillis)/1000/60/60/24 );
}