12.15周末作业

这篇博客包含了多个编程作业,涉及从命令行接收参数,字符串操作,随机数生成,排序,时间转换,邮箱地址合法性检查,子字符串计数,字符统计和回文数判断等。通过这些练习,可以提升基础编程技能和问题解决能力。
摘要由CSDN通过智能技术生成

周末作业

1、编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。 [必做题]

HomeWork01.java

package com.kd.homework;

public static void main(String[] args) {
		System.out.println(Integer.parseInt(args[0])+Integer.parseInt(args[1]));
	}

2、编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。(识点:String中常用的方法) [必做题]

HomeWork02java

package com.kd.homework;
import java.util.Scanner;

public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();
		char[] arr=str.toCharArray();
		int num=0;
		for (char c : arr) {
			if(c=='e'){
				num++;
			}
		}
		System.out.println(num);
	}

3、生成十个0~100之间的随机数,放到数组中,然后排序输出。(知识点:Math类取整,获得随机数等) [必做题]

HomeWork03.java

import java.math.MathContext;
import java.util.Arrays;

public static void main(String[] args) {
		int[] x=new int[10];
		
		for(int i=0;i<x.length;i++){
			x[i]=(int)(Math.random()*101);
		}
		Arrays.sort(x);
		for (int i : x) {
			System.out.println(i);
		}
	}

4、巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。[选做题]

HomeWork04.java

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.Scanner;

public static void main(String[] args) {

		/*
		 * Scanner scanner = new Scanner(System.in); String time =
		 * scanner.nextLine();
		 */
		Date date = new Date();
		Calendar cal = Calendar.getInstance();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年/MM月/dd日/kk点");
		String time = sdf.format(date);
		cal.setTime(date);
		System.out.println("北京时间是:" + time);

		// 巴黎
		cal.add(Calendar.HOUR_OF_DAY, -7);
		System.out.println("巴黎时间是:" + cal.get(Calendar.YEAR) + "年/" + (cal.get(Calendar.MONTH) + 1) + "月/"
				+ cal.get(Calendar.DAY_OF_MONTH) + "日/" + cal.get(Calendar.HOUR_OF_DAY) + "点");
		// 纽约
		cal.add(Calendar.HOUR_OF_DAY, -5);
		System.out.println("纽约时间是:" + cal.get(Calendar.YEAR) + "年/" + (cal.get(Calendar.MONTH) + 1) + "月/"
				+ cal.get(Calendar.DAY_OF_MONTH) + "日/" + cal.get(Calendar.HOUR_OF_DAY) + "点");

	}

5、解析一个邮箱地址是否合法,如果合法则打印出用户名部分和该邮箱所属的网站域名,如果邮箱地址不合法则显示不合法的原因 [选做题]

2.1 提示:邮箱地址不合法的因素:
2.1.1邮箱地址中不包含@或.
2.1.2邮箱地址中含有多了@或.
2.1.3邮箱地址中.出现在@的前面
2.1.4用户名里有其他字符
2.2实现步骤:
2.2.1创建一个类,类名:mailtest
类图如下:
在这里插入图片描述

HomeWork05.java

import java.util.Scanner;

public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();
		String regex="\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*";
		
		if(str.matches(regex)==true){
			System.out.println("合法");
		}else{
			System.out.println("不合法");
		}
	}

6、分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。 [选做题]

HomeWork06.java

import java.util.Scanner;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String s1=sc.nextLine();	//字符串	
		String s2=sc.nextLine();	//子字符串
	
		Pattern p=Pattern.compile(s2);
		Matcher m=p.matcher(s1);
		
		int count=0;
		while(m.find()){
			count++;
		}
		System.out.println(count);
	}


7、有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 [选做题]

HomeWork07.java

import java.util.Scanner;

public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str=sc.nextLine();
		char[] c=str.toCharArray();
		
		StringBuilder zhongwen=new StringBuilder();
		StringBuilder yingwen=new StringBuilder();
		StringBuilder shuzi=new StringBuilder();
		
		for (char d : c) {
			if(d>='0' && d<='9')
			{
			shuzi.append(d);
			}
			else if((d>='a' && d<='z') || (d>='A' && d<='Z'))
			{
			yingwen.append(d);
			}
			else
			{
			zhongwen.append(d);
			}
		}
		
		System.out.println("中文字符个数为:"+zhongwen.length()+"\r\n"+"英文字符个数为:"+yingwen.length()+"\r\n"
		+"数字字符个数为:"+shuzi.length());
		
		
	}

8、有一种数叫回文数,正读和反读都一样,如12321便是一个回文数。编写一个程序,从命令行得到一个整数,判断该数是不是回文数。 [选做题]

HomeWork08.java


import java.util.Scanner;

public static void main(String[] args) {
		Scanner sc=new Scanner(System.in);
		String str=sc.next();
		
		String str2=new StringBuilder(str).reverse().toString();
		
		if(str.equals(str2)){
			System.out.println("是回文数");
		}else{
			System.out.println("不是回文数");
		}
	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值