# java_homework_4 **Repository Path**: li_knight/java_homework_4 ## Basic Information - **Project Name**: java_homework_4 - **Description**: 课后练习题4 - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-17 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README java课后作业4 #### 作业题 1.编写一个程序,实现从命令行参数输入两个字符串类型的数值,并计算输出两个数值的和。 代码: import java.util.Scanner; public class SumString { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入第一个字符串"); String string1=input.nextLine(); byte []num1=string1.getBytes(); int number1=num1[0]; System.out.println("第一个字符串的值为"+number1); System.out.println("请输入第二个字符串"); String string2=input.nextLine(); byte []num2=string2.getBytes(); int number2=num2[0]; System.out.println("第二个字符串的值为"+number2); System.out.println("这两个字符串的和为:"+(number1+number2)); } } 2.编写一个程序,实现从命令行参数输入一字符串,统计该字符串中字符“e”出现的次数。(识点:String中常用的方法) 代码: import java.util.Scanner; public class CountNumE { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入字符串"); String string=input.next(); int longstring=string.length(); int count=0; for(int i=0;inumber[j]){ int n=number[i]; number[i]=number[j]; number[j]=n; } } } System.out.println("随机数(升序)排序后为:"); for (int i:number ) { System.out.print(i+" "); } } } 4.巴黎时间比北京时间晚7个小时,纽约时间比北京时间晚12个小时,试编写一程序,根据输入的北京时间输出相应的巴黎和纽约时间。 方法一:自己输入时间去转化 代码: import java.util.Scanner; public class TranlateTime { public static void main(String[] args) { Scanner input=new Scanner(System.in); System.out.println("请输入北京时间:(依次输入时,分,秒)"); int hh=input.nextInt(); int mm=input.nextInt(); int ss=input.nextInt(); System.out.println("你输入的北京时间为:"+hh+":"+mm+":"+ss); tranlate1(hh,mm,ss); tranlate2(hh,mm,ss); } public static void tranlate1(int h,int mm,int ss) { int hh; if(h>=7) { hh=h-7; System.out.println("此时的巴黎时间为:"+hh+":"+mm+":"+ss); } else { hh=24-7+h; System.out.println("此时的巴黎时间为:(前一天)"+hh+":"+mm+":"+ss); } } public static void tranlate2(int h,int mm,int ss) { int hh; if(h>=12) { hh=h-12; System.out.println("此时的纽约时间为:"+hh+":"+mm+":"+ss); } else { hh=24-12+h; System.out.println("此时的纽约时间为:(前一天)"+hh+":"+mm+":"+ss); } } } 方法二:使用Date类,实现当前时间的转换 代码: import java.util.Date; public class DateTime { public static void main(String[] args) { Date date=new Date(); System.out.println("当前的北京时间为:"); System.out.println(date); Date parisDate = new Date(date.getTime()-7*60*60*1000); System.out.println("此刻的巴黎时间为: " ); System.out.println(parisDate); Date newYorkDate = new Date(date.getTime()-12*60*60*1000); System.out.println("此刻的纽约时间为: "); System.out.println(newYorkDate); } } 5.分别在控制台输入字符串和子字符串,并计算字符串中子字符串出现的次数。 代码: import java.util.Scanner; public class CountSon { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入字符串"); String string1 = input.next(); System.out.println("请输入子字符串"); String string2 = input.next(); int count = 0; int index = 0; while (index < string1.length()) { if (string1.indexOf(string2, index) == index) { count++; } index++; } System.out.println(string2 + " 在 " + string1 + " 中出现的次数为:" + count + " 次"); } } 6.有一个字符串,其中包含中文字符、英文字符和数字字符,请统计和打印出各个字符的个数。 代码: import java.util.Scanner; public class Count { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.println("请输入一个字符串(里面含有中文,英文和数字)"); String string = input.next(); StringBuilder ChineseString = new StringBuilder(); StringBuilder EnglishString = new StringBuilder(); StringBuilder NumberStringBuilder = new StringBuilder(); for (int i = 0; i < string.length(); i++) { switch (Character.getType(string.charAt(i))) { case 1: case 2: EnglishString.append(string.charAt(i)); break; case 5: // 中文字符 ChineseString.append(string.charAt(i)); break; case 9: // 数字 NumberStringBuilder.append(string.charAt(i)); break; default: break; } } System.out.println("字符串:"+string+" 中"); System.out.println("中文字符的个数为 "+ChineseString.length()+" 个"); System.out.println("英文字符的个数为 "+EnglishString.length()+" 个"); System.out.println("数字字符的个数为 "+NumberStringBuilder.length()+" 个"); } }