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