华广java考试题_JAVA试题

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

如:请输入一个日期(格式如:**月**日****年)     经过处理得到:****年**月**日

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

import java.util.Scanner;

public class Date {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

System.out.println("请输入日期");

String in_date = scanner.next();String day = "日";String mouth = "月";String year = "年";

int a = in_date.indexOf(day);int b = in_date.indexOf(mouth);int c = in_date.indexOf(year);

System.out.println(in_date.substring(c - 4, c) + "年" + in_date.substring(b - 2, b) + "月" + in_date.substring(a - 2, a) + "日");

}

}

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

import java.util.Scanner;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class test2 {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

String date = scanner.next();

Pattern nb = Pattern.compile("[0-9]");

Pattern wd = Pattern.compile("[a-z]");

Pattern WD = Pattern.compile("[A-Z]");

int a = 0;

int b = 0;

for(int i = 0;i

String one = date.substring(i,i+1);

Matcher isWD = WD.matcher(one);

Matcher isNum = nb.matcher(one);

Matcher iswd = wd.matcher(one);

if(isNum.matches()){

a++;

}

if(isWD.matches()||iswd.matches()){

b++;

}

}

System.out.println("数字:"+a);

System.out.println("字母:"+b);

}

}

3.以下是一段歌词,请从这段歌词中统计出朋友出现的次数。

" 这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。  朋友一生一起走,那些日子不再有,     一 句 话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。";

提示:使用String方法indexOf、substring。

package demo;

public class test3 {

public static void main(String[] args) {

String sing = "这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。朋友一生一起走,那些日子不再有,一 句 话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。";

String[] aa = sing.split("朋友");

System.out.println("个数是:"+aa.length);

}

}

4.编写敏感词过滤程序    说明:在网络程序中,如聊天室、聊天软件等,经常需要对一些用户所提交的聊天内容中的敏感性词语进行过滤。如“性”、“色情”、“爆炸”、“恐怖”、“枪”、“军火”等,这些都不可以在网上进行传播,需要过滤掉或者用其他词语替换掉。

提示:将用户的聊天内容保存到一个字符串对象或一个StringBuilder对象中,然后与敏感词语类表(数组实现)进行比对。如果属于敏感词语,就过滤掉或替换掉。

package demo;

//"爆炸""色情""恐怖""枪""军火");

public class test4 {

public static void main(String[] args) {

String in_it = "真性情,恐怖游轮,雷军火啦";

String arr[] = {"性","爆炸","色情","恐怖","枪","军火"};

for(int i =0;i

in_it = in_it.replace(arr[i],"*");

}

System.out.println(in_it);

}

}

5.

根据输入的年份、产品类型和随机数产生固定资产编号    即:固定资产编号=年份+0+产品类型+3位随机数

程序运行流程:

请输入年份:

请选择产品类型(1.台式机 2.笔记本 3.其他):

生成3位随机数    最后显示固定资产编号

提示:3位随机数按如下方法产生:            (int)(Math.random()*1000);

package demo;

import java.util.Random;

import java.util.Scanner;

public class test5 {

public static void main(String[] args) {

Random random = new Random();

int sad = random.nextInt(1000);

Scanner scanner = new Scanner(System.in);

System.out.println("请输入年份:");

int year = scanner.nextInt();

System.out.println("1.台式机 2.笔记本 3.其他");

int model = scanner.nextInt();

String a = String.valueOf(sad);

String b = String.valueOf(year);

String c = String.valueOf(model);

System.out.println(b+"0"+c+a);

}

}

6.计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数。

package demo;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.Scanner;

public class test6{

public static void main(String[] args) throws ParseException {

System.out.println("请输入第一个日期(yyyy-mm-dd)");

Scanner c =new Scanner(System.in);

String str=c.nextLine();

System.out.println("请输入第二个日期(yyyy-mm-dd)");

String str1=c.nextLine();

SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");

Date d= sd.parse(str);

Date d1=sd.parse(str1);

long l =0;

if(d.after(d1)){

l =d.getTime()-d1.getTime();

}else{

l=d1.getTime()-d.getTime();

}

long a = 1000*60*60*24;

long day = l/a;

long week = day/7;

System.out.println("两个日期相隔"+day+"天");

System.out.println("相隔"+week+"周");

}

}

7.计算并输出21世纪的闰年,计算程序的执行时间。

package demo;

import java.util.GregorianCalendar;

public class test7 {

public static void main(String[] args) {

long start = System.currentTimeMillis();

int num=0;

GregorianCalendar year = new GregorianCalendar();

for (int i=2000;i<2100;i++)

{

if (year.isLeapYear(i))

System.out.print(i+" ");

}

System.out.println();

long end = System.currentTimeMillis();

System.out.println("系统执行时间:"+(end-start)+"ms");

}

}

8.编写一个程序,设定一个有大小写字母的字符串,先将字符串的大写字符输出,再将字符串中的小写字符输出。

package demo;

import java.util.Scanner;

public class test8 {

public static void main(String[] args){

System.out.println("请输入字符串:");

Scanner scan = new Scanner(System.in);

String str = scan.nextLine();

char[] s = str.toCharArray();

System.out.print("小写字母: ");

for (char s1:s) {

if(Character.isLowerCase(s1))

System.out.print(s1+" ");

}

System.out.println();

System.out.print("大写字母:");

for (char s2:s) {

if (Character.isUpperCase(s2))

System.out.print(s2+" ");

}

System.out.println();

System.out.print("数字:");

for (char s3:s) {

if (Character.isDigit(s3))

System.out.print(s3+" ");

}

}

}

9.编写程序,(Scanner)当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几

package demo;import java.util.Calendar;import java.util.Date;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.Scanner;

public class test9 {

public static void main(String[] args) throws ParseException {

Scanner scan=new Scanner(System.in);

String input=scan.nextLine();

SimpleDateFormat fmt= new SimpleDateFormat("yyyy-M-d");

Date time=fmt.parse(input);

Calendar cal=Calendar.getInstance();

cal.setTime(time);

int year=cal.get(Calendar.YEAR);

System.out.println(year);

boolean flag=(year%4==0&&year%100!=0)||year%400==0;

String str=flag?year+"是闰年":year+"不是闰年";

System.out.println(str);

int i=cal.get(Calendar.DAY_OF_WEEK);

switch(i) {

case 1:

System.out.println("星期日");

break;

case 2:

System.out.println("星期一");

break;

case 3:

System.out.println("星期二");

break;

case 4:

System.out.println("星期三");

break;

case 5:

System.out.println("星期四");

break;

case 6:

System.out.println("星期五");

break;

case 7:

System.out.println("星期六");

break;

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值