12.15週末作業
阿新 • • 發佈:2018-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("不是迴文數");
}
}