博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java试题
阅读量:2205 次
发布时间:2019-05-04

本文共 9595 字,大约阅读时间需要 31 分钟。

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

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

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

package com.company;import java.text.ParseException;import java.util.Scanner;public class test02 {    public static void main(String[] args)  throws ParseException {        Scanner sc = new Scanner(System.in);        System.out.println("请输入日期:(格式如:**月**日****年)");        String date = sc.next();        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+"日");    }}

运行结果

请输入日期:(格式如:**月**日****年)12月22日2019年2019年12月22日

 

========================================================================

 

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

package com.company;import java.util.Scanner;public class test03 {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        System.out.println("请输入一个字符串");        String str =sc.next();        char[] cs =  str.toCharArray();/*把字符串转为字符数组;*/        int i = 0;        int j=  0;        for (char c: cs){            if(Character.isDigit(c))/*判断是否为数字*/                i++;            else if (Character.isLetter(c))/*判断是否为字母*/                j++;        }        System.out.println("有"+i+"个数字"+j+"个字母");    }}

运行结果

请输入一个字符串sdfsad6fsf685494有7个数字9个字母

 

========================================================================

 

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

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

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

package com.company;public class test04 {    public static void main(String[] args) {        String s = "这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么," +                "真爱过才会懂,会寂寞会回首,终有梦终有你在心中。  朋友一生一起走," +                "那些日子不再有,     一 句 话,一辈子,一生情,一杯酒。朋友不曾孤单过," +                "一声朋友你会懂,还有伤,还有痛,还要走,还有我。";        String key = "朋友";        int startLen =  s.length();        s = s.replace(key,"");        int endLen = s.length();        int iCount = (startLen-endLen)/key.length();        System.out.println(key+"一共出现:"+iCount+"次");    }}

运行结果

朋友一共出现:3次

 

========================================================================

 

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

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

package com.company;import java.util.Scanner;public class test05 {      static String[] cd ={"性", "色情", "爆炸", "恐怖", "枪", "军火"};      public static  String filter(String str) {          for (String s : cd) {              String x="";              for (int i = 0; i < s.length(); i++) {                x+="*";              }              if(str.contains(s)){                  str=str.replace(s,x);              }          }          return str;      }    public static void main(String[] args) {        String s = "我想看恐怖色情电爆炸影" ;        System.out.println(test05.filter(s));    }    }

运行结果

我想看****电**影

 

========================================================================

 

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

                                                                      程序运行流程:请输入年份:                  

                       ……                  

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

                       ……                  

                     生成3位随机数                 

                      最后显示固定资产编号

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

package com.company;import java.util.Scanner;public class test06 {    public static void main(String[] args) {        Scanner sc = new Scanner(System.in);        System.out.println("请输入年份:");        int year = sc.nextInt();        System.out.println("请选择产品类型(1. 台式机 2. 笔记本 3. 其他)");        int  day = sc.nextInt();        int a = (int)(Math.random()*1000);        System.out.println("产品编号为:" + year + "0" + day +a );    }}

运行结果

请输入年份:2019请选择产品类型(1. 台式机 2. 笔记本 3. 其他)2产品编号为:201902437

 

========================================================================

 

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

package com.company;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.Scanner;/* *1 计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数。 */public class test07 {    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();      //把字符串类型解析为Date类型        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+"周");    }}

运行结果

请输入第一个日期(yyyy-MM-dd)2017-5-5请输入第二个日期(yyyy-MM-dd)2017-5-25两个日期相隔20天相隔2周

第二种

package lianxi;import java.util.Date;public class Lx6 {    public static void main(String[] args) {//        1.计算某年、某月、某日和某年、某月、某日之间的天数间隔和周数。                        Date d = new Date(117, 11, 3);        Date d2 = new Date(110, 1, 3);                long l = Math.abs(d.getTime() - d2.getTime());                System.out.println(l / 86400000);        System.out.println(l / 86400000 / 7.0);    }}

运行结果

2860408.57142857142856

 

========================================================================

 

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

package com.company;import java.util.GregorianCalendar;public class test08 {        public static void main(String[] args) {            long a=System.currentTimeMillis();            //系统开始执行的时间(返回以毫秒为单位的当前时间)            GregorianCalendar g = new GregorianCalendar();            //GregorianCalendar 是 Calendar 的一个具体子类,提供了世界上大多数国家/地区使用的标准日历系统。            for(int i=2000;i<2100;i++){                if(g.isLeapYear(i)){
//常用方法的判断是不是闰年 System.out.println(i+"是闰年"); } } long end =System.currentTimeMillis();//系统执行后的时间 System.out.println("计算机执行的时间是:"+(end-a)); } }

运行结果

2000是闰年2004是闰年2008是闰年2012是闰年2016是闰年2020是闰年2024是闰年2028是闰年2032是闰年2036是闰年2040是闰年2044是闰年2048是闰年2052是闰年2056是闰年2060是闰年2064是闰年2068是闰年2072是闰年2076是闰年2080是闰年2084是闰年2088是闰年2092是闰年2096是闰年计算机执行的时间是:20

========================================================================

 

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

package com.company;import java.util.Scanner;public class test09 {    public static void main(String[] args) {        System.out.println("请输入一串字符串");        Scanner sc = new Scanner(System.in);        String str = sc.nextLine();        char[] a =str.toCharArray();//把字符串转化为字符数组        for (char c:a){            if(Character.isUpperCase(c))//isUpperCase判断是否为大写                System.out.print(c+"");        }        System.out.println();        for(char c: a){            if(Character.isLowerCase(c))//isLowerCase判断是否为小写                System.out.print(c+"");        }    }}

运行结果

adADASADASad

========================================================================

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

package com.company;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Scanner;import java.util.concurrent.CancellationException;public class test10 {    public static void main(String[] args) throws ParseException {        System.out.println("输入一个日期如:(yyy-MM-dd)");        Scanner s = new Scanner(System.in);        String str = s.nextLine();        SimpleDateFormat sd = new SimpleDateFormat("yyy-MM-dd");        Date d = sd.parse(str);//将字符串类型的日期转化为Date类型        Calendar c=Calendar.getInstance();        c.setTime(d);//使用给定的Date设置此Calendar的时间        int year=c.get(Calendar.YEAR);        int yue =c.get(Calendar.MONTH)+1;        int zhou =c.get(Calendar.DAY_OF_WEEK)-1;        GregorianCalendar g =new GregorianCalendar();        if(g.isLeapYear(year)){            System.out.println(year+"是闰年");        }else{            System.out.println(year+"是平年");        }        int max =c.getActualMaximum(Calendar.DAY_OF_MONTH);//一个月中最大的天数        if(zhou==0){            System.out.println(yue+"月有"+max+"天"+"该日是"+"周日");        }else{            System.out.println(yue+"月有"+max+"天"+"该日是"+"周"+zhou);        }    }    }

运行结果:

输入一个日期如:(yyy-MM-dd)2017-9-102017是平年9月有30天该日是周日

第二种

package lianxi;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Scanner;public class Lx9 {    public static void main(String[] args) throws ParseException {//        4.编写程序,(Scanner)当以年-月-日的格式输入一个日期时,输出其该年是否为闰年,该月有几天,该日是星期几        Scanner sc = new Scanner(System.in);                System.out.println("请输入:(格式:年-月-日)");        String s = sc.nextLine();                Date d = new SimpleDateFormat("yyyy-MM-dd").parse(s);                Calendar c = Calendar.getInstance();        c.setTime(d);                GregorianCalendar gc = new GregorianCalendar();                if (gc.isLeapYear(c.get(Calendar.YEAR))) {            System.out.println("是闰年");        }                int max = c.getActualMaximum(Calendar.DAY_OF_MONTH);                System.out.println(max);                    }}

 

 

========================================================================

转载于:https://www.cnblogs.com/songhuiqiang/p/10680663.html

你可能感兴趣的文章
PLSQL常用方法汇总
查看>>
几个基本的 Sql Plus 命令 和 例子
查看>>
PLSQL单行函数和组函数详解
查看>>
Oracle PL/SQL语言初级教程之异常处理
查看>>
Oracle PL/SQL语言初级教程之游标
查看>>
Oracle PL/SQL语言初级教程之操作和控制语言
查看>>
Oracle PL/SQL语言初级教程之过程和函数
查看>>
Oracle PL/SQL语言初级教程之表和视图
查看>>
Oracle PL/SQL语言初级教程之完整性约束
查看>>
PL/SQL学习笔记
查看>>
如何分析SQL语句
查看>>
结构化查询语言(SQL)原理
查看>>
SQL教程之嵌套SELECT语句
查看>>
日本語の記号の読み方
查看>>
计算机英语编程中一些单词
查看>>
JavaScript 经典例子
查看>>
判断数据的JS代码
查看>>
js按键事件说明
查看>>
AJAX 初次体验!推荐刚学看这个满好的!
查看>>
AJAX 设计制作 在公司弄的 非得要做出这个养的 真晕!
查看>>