1. 程式人生 > >12.15週末作業

12.15週末作業

週末作業

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("不是迴文數");
		}
	}