
基础
1.
package lesson03;
import java.util.Arrays;
import java.util.Random;
public class Test01 {
public static void main(String[] args) {
//1.a
int[] arr=new int[10];
Random random=new Random();
int max=0,min=0;
for(int i=0;i<10;i++) {
arr[i]=random.nextInt();
System.out.print(arr[i]+" ");
if(i==0) {
max=arr[i];
min=arr[i];
}else {
if(max>arr[i]) {
max=arr[i];
}
if(min<arr[i]) {
min=arr[i];
}
}
}
//1.b
System.out.println();
System.out.println("max:"+max+",min:"+min);
int[] arr2=new int[8];
int j=0;
for(int ar:arr) {
if(ar==max||ar==min) {
continue;
}else {
arr2[j++]=ar;
}
}
arr=arr2;
System.out.println("减了两个后:");
for(int ar:arr) {
System.out.print(ar+",");
}
//1.c
System.out.println();
int[] arr3=new int[11];
j=0;
for(int i=0;i<8||j<11;i++) {
if(j==0||j==5||j==10) {
arr3[j++]=random.nextInt();
System.out.print("新加:"+arr3[j-1]+"\t");
i--;
}else {
arr3[j++]=arr[i];
}
}
System.out.println();
System.out.println("加了三个后:");
for(int i=0;i<11;i++) {
System.out.print(arr3[i]+",");
}
//1.d
System.out.println();
System.out.println("排序后:");
Arrays.sort(arr3);
for(int i=0;i<11;i++) {
System.out.print(arr3[i]+",");
}
System.out.println();
System.out.println("插入一个元素后:");
int[] arr4=new int[12];
for(int i=0;i<11;i++) {
arr4[i]=arr3[i];
}
arr4[11]=random.nextInt();
Arrays.sort(arr4);
for(int i=0;i<12;i++) {
System.out.print(arr4[i]+",");
}
}
}
2.
package lesson03;
import java.util.Scanner;
public class ChectChar {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一串英文字母:");
String words=sc.next();
System.out.println("请输入一个字母:");
String secondIn=sc.next();
char word=secondIn.charAt(0);
int count=0;
for(int i=0;i<words.length();i++) {
if(word==words.charAt(i))count++;
}
System.out.println("该字母在这串英文字母中出现的次数为:");
System.out.println(count);
sc.close();
}
}
3.
package lesson03;
import java.util.Scanner;
public class TestSc {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String words;
while(true) {
System.out.println("请输入一个5位数:");
words=sc.next();
if(words.length()==5)break;
}
for(int i=0;i<2;i++) {
if(words.charAt(i)==words.charAt(words.length()-1-i)) {
continue;
}
System.out.println("该数字不是回文数。");
return;
}
System.out.println("该数字是回文数~");
}
}
4.
package lesson03;
import java.util.Scanner;
public class CountAndSumNum {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入一个0-9的数:");
int num=sc.nextInt();
System.out.println("请输入叠加次数:");
int times=sc.nextInt();
int sum=0;
int temp=0;
for(int i=0;i<times;i++) {
temp=temp*10+num;
System.out.print(temp);
System.out.print(i==times?"=":"+");
sum+=temp;
}
System.out.print("="+sum);
sc.close();
}
}
提高
1.
package lesson02;
import java.time.Duration;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class IdCardCheck {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
String nums;
while(true) {
System.out.println("请输入身份证号:");
nums=sc.next();
boolean flag=checkIdentityNum(nums);
if(flag) {
break;
}
}
//获取生日
String bir=nums.substring(6, 14)+"000000";
System.out.println("这个人的生日为:");
DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyyMMddHHmmss");
LocalDateTime birthDate=LocalDateTime.parse(bir,formatter);
System.out.println(birthDate);
//出生那天是那年第几周
String birBegin=nums.substring(6,10)+"0101000000";
LocalDateTime birBeginDate=LocalDateTime.parse(birBegin,formatter);
//使用Duration计算间隔
Duration duration1=Duration.between(birBeginDate, birthDate);
System.out.println("这个人出生在那年的第"+(duration1.toDays()/7+1)+"周");
LocalDateTime nowDate=LocalDateTime.now();
Duration duration2=Duration.between(birthDate, nowDate);
System.out.println("从这个人出生到现在,过去了"+duration2.toDays()/7+"周");
sc.close();
}
private static boolean checkIdentityNum(String nums) {
if(nums.length()!=18) {
System.out.println("身份证长度不足18位,请重试。");
return false;
}
String regex="^(([1-6][1-9])|50)\\d{4}"//6位地区码
+"((18)|(19)|([23]\\d))(\\d{2})"//年
+"((0[1-9])|((10)|(11)|(12)))"//月
+"(([0-2][1-9])|(10)|(20)|(30)|(31))"//日
+"(\\d{3})"//3位顺序码
+"(\\d|X|x)";//校验码
if(nums.matches(regex))return true;
System.out.println("身份证格式有误,请重试。");
return false;
}
}
2.
package lesson02;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Scanner;
public class ForSale {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入生产日期,格式为yyyy-mm-dd(如:2008-08-08)");
String date=sc.next()+" 00:00:00";
DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime cDate=LocalDateTime.parse(date,formatter);
// System.out.println(cDate);
System.out.println("请输入以天为单位的保质期(如:180)");
int limitDays=sc.nextInt();
LocalDateTime endDate=cDate.plusDays(limitDays);
switch (endDate.getDayOfWeek().getValue()) {
case 1:
endDate=endDate.minusDays(2);
break;
case 2:
endDate=endDate.minusDays(3);
break;
case 3:
endDate=endDate.minusDays(4);
break;
case 4:
endDate=endDate.minusDays(5);
break;
case 5:
endDate=endDate.minusDays(6);
break;
case 6:
endDate=endDate.minusDays(7);
break;
case 7:
endDate=endDate.minusDays(8);
break;
}
System.out.println("这个产品的促销日在:");
System.out.println(endDate.format(formatter)+","+endDate.getDayOfWeek());
sc.close();
}
}