java之练习题

来源:互联网 发布:华为如何开数据流量 编辑:程序博客网 时间:2024/06/05 19:36

1、请根据控制台输入的特定日期格式拆分日期

        如:请输入一个日期(格式如:**月**日****年)

       经过处理得到:****年**月**日

    提示:使用String的方法indexOf、lastIndexOf、substring

package com.oralce.test01;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Scanner;
public class Time {
public static void main(String[] args) throws ParseException {
Scanner sc=new Scanner(System.in);
System.out.print("请输入日期:**月**日****年");
String date=sc.next();

/* SimpleDateFormat sdf = new SimpleDateFormat("mm月dd日yyyy年");
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年mm月dd日");
System.out.println(sdf2.format(sdf.parse(date)));*/

int m = date.indexOf("月");
int d = date.indexOf("日");
String month = date.substring(0, m);
String day = date.substring(m+1,d);
String year = date.substring(d+1, date.length()-1);

System.out.println(year+"年"+month+"月"+day+"日");
}
}

2、给出一个随机字符串,判断有多少字母?多少数字?

方法一:

package com.oralce.test02;
import java.util.Scanner;
public class Test1 {
public static void main(String[] args) {
int i = 0,j = 0;
Scanner sc=new Scanner(System.in);
System.out.println("请输入字符串:");
String s =  sc.next();

char[] s1 = s.toCharArray();
for (char c : s1) {
if(Character.isDigit(c)){
i++;
}else if(Character.isLetter(c)){
j++;
}else{
System.out.println("其他不计!");
}
}
System.out.println("有"+i+"个字母");
System.out.println("有"+i+"个数字");
}
}

方法二:

package com.oralce.test02;
import java.util.Random;
public class test2 {
public static void main(String[] args) {
String yzm = test2.getStr(10);
System.out.println(yzm);
int i = 0;
int j = 0;

//把字符串转换成字符数组
char[] cs = yzm.toCharArray();
for (char c : cs) {
if(Character.isLetter(c)){
j++;
}else if(Character.isDigit(c)){
i++;
}
}
System.out.println("一共有"+i+"数字,"+j+"个字母");
}

//生成随机字符串,应用场景:验证码,位数自定义
public static String getStr(int len) {
//创建数据源
String str = "0123456789zxcvbnmasdfghjklqwertyuiopZXCVBNMASDFGHJKLQWERTYUIOP";
//创建随机索引
Random ran= new Random();
//生成随机长度字符串
String yzm = "";
for (int i = 0; i < len; i++) {
int j = ran.nextInt(str.length());
char s = str.charAt(j);
yzm+= s;
}
return yzm;
}
}

原创粉丝点击