一、今日学习内容:
今天继续学习实验1 c与c++的差异的习题。
二、遇到的问题:
无
三、明日计划:
明天学习第二讲的例题。
今天学习的具体内容如下:
5.字符串查找判断:输入两个字符串s1和s2,判断s1是否包含s2,给出结论,若包含,还需计算s1中s2的个数。要求使用string类型。
import java.util.Scanner; public class t2 { public static void main(String[] args) { String str1,str2; @SuppressWarnings("resource") Scanner sc=new Scanner(System.in); System.out.println("请输入字符串1:"); str1=sc.nextLine(); System.out.println("请输入字符串2:"); str2=sc.nextLine(); if(str1.indexOf(str2)!=-1) { System.out.println("字符串str1中包含str2!"); } else System.out.println("字符串str1中不包含str2!"); int dot=-str2.length(),n=0; while(dot!=-1) { //若dot=-1,则表明 字符串str1中不包含str2 dot=str1.indexOf(str2,dot+str2.length()); if(dot!=-1) n++; //确定包含的次数 } System.out.println("str2在str1中出现的次数为:"+n); } }
测试截图:
6.最大值获取:编写函数,使用函数重载,能求两个整数的最大数、三个整数的最大数、四个整数的最大数。
import java.util.Scanner; public class t2 { public static void main(String[] args) { System.out.println("1.求两个数中的最大数"); System.out.println("2.求三个数中的最大数"); System.out.println("3.求四个数中的最大数"); System.out.println("请进行选择:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); if(n==1) { System.out.println("请输入两个数:"); int x=sc.nextInt(); int y=sc.nextInt(); int result=max(x,y); System.out.println("两个数中的最大值为:"+result); } if(n==2) { System.out.println("请输入三个数:"); int x=sc.nextInt(); int y=sc.nextInt(); int z=sc.nextInt(); int result=max(x,y,z); System.out.println("三个数中的最大值为:"+result); } if(n==3) { System.out.println("请输入四个数:"); int x=sc.nextInt(); int y=sc.nextInt(); int z=sc.nextInt(); int u=sc.nextInt(); int result=max(x,y,z,u); System.out.println("四个数中的最大值为:"+result); } } public static int max(int a,int b) { int max; if(a>b) max=a; else if(a<b) max=b; else max=a; return max; } public static int max(int a,int b,int c) { int max_1,max_2; max_1=max(a,b); max_2=max(max_1,c); return max_2; } public static int max(int a,int b,int c,int d) { int max_1,max_2,max; max_1=max(a,b); max_2=max(c,d); max=max(max_1,max_2); return max; } }
测试截图:
7.整数排序:编写函数重载,分别将两个整数升序排列后输出、三个整数升序排列后输出、四个整数升序排列后输出.
import java.util.Arrays; import java.util.Scanner; public class t2 { public static void main(String[] args) { System.out.println("1.两个数排序"); System.out.println("2.三个数排序"); System.out.println("3.四个数中排序"); System.out.println("请进行选择:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); if(n==1) { System.out.println("请输入两个数:"); int x=sc.nextInt(); int y=sc.nextInt(); sort_number(x,y); } if(n==2) { System.out.println("请输入三个数:"); int x=sc.nextInt(); int y=sc.nextInt(); int z=sc.nextInt(); sort_number(x,y,z); } if(n==3) { System.out.println("请输入四个数:"); int x=sc.nextInt(); int y=sc.nextInt(); int z=sc.nextInt(); int u=sc.nextInt(); sort_number(x,y,z,u); } } public static void sort_number(int a,int b) { int []x=new int[2]; x[0]=a; x[1]=b; Arrays.sort(x); System.out.println("两个数升序结果是:"); for(int i=0;i<2;i++) { System.out.print(x[i]+" "); } } public static void sort_number(int a,int b,int c) { int []x=new int[3]; x[0]=a; x[1]=b; x[2]=c; Arrays.sort(x); System.out.println("两个数升序结果是:"); for(int i=0;i<3;i++) { System.out.print(x[i]+" "); } } public static void sort_number(int a,int b,int c,int d) { int []x=new int[4]; x[0]=a; x[1]=b; x[2]=c; x[3]=d; Arrays.sort(x); System.out.println("两个数升序结果是:"); for(int i=0;i<4;i++) { System.out.print(x[i]+" "); } } }
测试截图:
8.两数求和:编写求两个数之和的函数,要求使用函数重载,能求整数、长整型、浮点、双精度等数的和。
import java.util.Scanner; public class t2 { public static void main(String[] args) { System.out.println("1.整数之和"); System.out.println("2.浮点数之和"); System.out.println("3.长整型之和"); System.out.println("4.双精度之和"); System.out.println("请进行选择:"); Scanner sc=new Scanner(System.in); int n=sc.nextInt(); if(n==1) { System.out.println("请输入两个数:"); int x=sc.nextInt(); int y=sc.nextInt(); int s=add(x,y); System.out.println("两个整数之和为:"+s); } if(n==2) { System.out.println("请输入两个数:"); float x=sc.nextFloat(); float y=sc.nextFloat(); float s=add(x,y); System.out.println("两个浮点数数之和为:"+s); } if(n==3) { System.out.println("请输入两个数:"); long x=sc.nextLong(); long y=sc.nextLong(); long s=add(x,y); System.out.println("两个长整数之和为:"+s); } if(n==4) { System.out.println("请输入两个数:"); double a=sc.nextDouble(); double b=sc.nextDouble(); double s=a+b; System.out.println("两个双精度数之和为:"+s); } } public static int add(int a,int b) { int result=a+b; return result; } public static float add(float a,float b) { float result=a+b; return result; } public static double add(double a,double b) { double result=a+b; return result; } public static long add(long a,long b) { long result=a+b; return result; } }
测试截图:
9.用户信息录入与查询:编写程序,完成用户信息录入。要求录入姓名,性别,年龄,家庭住址这四项信息
import java.util.Scanner; public class t2 { private String name; private int age; private String sex; private String address; t2(){ } t2(String s1,String s2,int a,String s3){ name=s1; sex=s2; age=a; address=s3; } public void show() { System.out.println("姓名:"+name); System.out.println("性别:"+sex); System.out.println("年龄:"+age); System.out.println("家庭住址:"+address); } public static void main(String[] args) { System.out.println("请对姓名、性别、家庭住址、年龄的信息进行录入:"); Scanner sc=new Scanner(System.in); String s1=sc.nextLine(); String s2=sc.nextLine(); String s3=sc.nextLine(); int a=sc.nextInt(); t2 student=new t2(s1, s2, a, s3); student.show(); } }
.测试截图: