JAVA习题

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

 

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

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

 1 import java.util.Scanner;
 2 public class Shijian {
 3 
 4     public static void main(String[] args) {
 5         
 6         System.out.println("请输入日期(格式:**月**日****年):");
 7         Scanner s = new Scanner(System.in);
 8         String tm = s.nextLine();
 9         int tim = tm.indexOf("日");  
10         String tim1 = tm.substring(tim+1);  //从“日”的笑一个位置开始截取
11         String tim2 = tm.substring(0, tim+1); //从0开始截取到“日”
12         System.out.println(tim1+tim2);
13     }
14 
15 }

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

 

import java.util.Scanner;
public class Zifuchuan {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        System.out.println("输入一个字符串:");
        Scanner zi = new Scanner(System.in);
        String zf = zi.nextLine();
        char[] ch = zf.toCharArray();
        int zimu = 0 , shuzi = 0;
        for(int i = 0; i < ch.length; i++) {
            if(ch[i] > '0'&&ch[i] <'9')
                shuzi++;
            if(ch[i] > 'a'&&ch[i] < 'z'||ch[i] > 'A'&&ch[i] < 'Z' )
                zimu++;
        }
        System.out.println("子母有:"+zimu+"个");
        System.out.println("数字有:"+shuzi+"个");
    }

}

 

3.以下是一段歌词,请从这段歌词中统计出朋友出现的次数。
 " 这些年一个人,风也过,雨也走,有过泪,有过错, 还记得坚持甚么,真爱过才会懂,会寂寞会回首,终有梦终有你在心中。  朋友一生一起走,那些日子不再有,     一 句 话,一辈子,一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,还有伤,还有痛,还要走,还有我。";
  提示:使用String方法indexOf、substring。

 

public class Tongji {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        String str ="这些年一个人,风也过
    ,雨也走,有过泪,有过错, 还记得坚持甚么,
    真爱过才会懂,会寂寞会回首,终有梦终有你在心中
    。朋友一生一起走,那些日子不再有,一句话,一辈子,
    一生情,一杯酒。朋友不曾孤单过,一声朋友你会懂,
    还有伤,还有痛,还要走,还有我。";
        String [] s = str.split("朋友");
        int i =s.length;
        System.out.println(i-1);
    }

}

 

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

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

 

import java.util.Scanner;
public class Guolv {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Scanner s = new Scanner(System.in);
        String str = s.nextLine();
        String [] s1 = {"性","爆炸","恐怖","枪","军火"};
        for(String ss:s1) {
            str = str.replaceAll(ss, "*");
        }
        System.out.println(str);
    }

}

 

 

 

 

 

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

 

 

 

程序运行流程:

 

 

 

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

 

 

 

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

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

 

import java.util.Scanner;
public class Bianhao {

    public static void main(String[] args) {
        // TODO 自动生成的方法存根
        Scanner s = new Scanner(System.in);
        System.out.println("请输入年份:");
        String year = s.next();
        System.out.println("请输入产品类型(1.台式机 2.笔记本 3.其他)");
        String t = s.next();
        int a = (int)(Math.random()*1000);
        System.out.println("产品编号为:"+year+t+a);
    }

}

 

 

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

 

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Scanner;
 
public class Tianshu {
    
    public static void main(String[] args) throws ParseException {
        // 传输格式yyyyMMdd
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入第一个日期");
        String date1 = sc.next();
        System.out.println("请输入第二个日期");
        String date2 = sc.next();
        // 转换成毫秒值运算
        SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
        Date d1 = sdf.parse(date1);
        Date d2 = sdf.parse(date2);
        long time = Math.abs(d2.getTime() - d1.getTime());// 要绝对值
        System.out.println("间隔天数:" + (time / 1000 / 60 / 60 / 24));
    }
 
}

 

 

 

 

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

import java.util.GregorianCalendar;

public class Yunsuan {
    public static void main(String[] args) {
        long beg = System.currentTimeMillis();//开始执行的时间
        GregorianCalendar g = new GregorianCalendar();
        for(int i = 2000; i < 2100; i++) {
            if(g.isLeapYear(i)) {
                System.out.println(i+"是闰年");
            }
        }
        long end = System.currentTimeMillis();
        System.out.println("计算机执行时间"+(end-beg));
    }
}

 

 

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

 

import java.util.Scanner;
public class Daxiaoxie
{
public static void main(String[] args)
   {
System.out.println("请输入一个字符串:"); Scanner s = new Scanner(System.in); String a = s.nextLine(); char [] ch = a.toCharArray();//把字符串转化为字符 for(char c:ch) { if(Character.isUpperCase(c)) System.out.print(c+" "); } for(char c:ch)
     {
if(Character.isLowerCase(c)) System.out.print(c+" "); } } }

 

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

 

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 Panduan {

    public static void main(String[] args) throws ParseException
   {
System.out.println("请输入一个日期(yyyy-mm-dd):"); Scanner s = new Scanner(System.in); String str = s.nextLine(); SimpleDateFormat sd = new SimpleDateFormat("yyyy-mm-dd"); Date d = sd.parse(str); //把Date类型转为Calendar类型 Calendar c=Calendar.getInstance(); c.setTime(d); 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);//一个月中最大的天数 //String sss=zhou==0?"周日":"周"+zhou; //System.out.println(yue+"月有"+max+"天"+"该日是"+sss); if(zhou==0){ System.out.println(yue+"月有"+max+"天"+"该日是"+"周日"); }else{ System.out.println(yue+"月有"+max+"天"+"该日是"+"周"+zhou); } } }

 

转载于:https://www.cnblogs.com/TS-Prime/p/11048127.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值