1.用循环的嵌套,输出输出如下图形
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
package Exercises.One_Hundred; public class Demo01 {public static void main(String[] args) {for(int i=1;i<5;i++){for(int j=1;j<=2*i-1;j++){System.out.print("*");}System.out.println();} for(int i=3;i>0;i--){for(int j=0;j<2*i-1;j++){System.out.print("*");}System.out.println();}} }
2.定义animal类,属性有name、age、final的COLOR=”黑色”及name、age的get、set方法,定义它的子类Dog类,写一个测试类,创建dog对象,设置它的name值为边牧,年龄3岁,输出它的上面信息及COLOR值。
package Exercises.One_Hundred; public class animal {private String name;private int age;final String COLOR="黑色"; public void setAge(int age) {this.age = age;} public void setName(String name) {this.name = name;} public int getAge() {return age;} public String getName() {return name;} }
package Exercises.One_Hundred; public class Dog extends animal{ }
package Exercises.One_Hundred; public class test {public static void main(String[] args) {Dog dog=new Dog(); dog.setName("边牧");dog.setAge(3); System.out.println("Name:"+dog.getName());System.out.println("Age:"+dog.getAge());System.out.println("Color:"+dog.COLOR);} }
3.请按照以下要求设计一个学生类Student,并进行测试。
要求如下:
1)Student类中包含姓名、性别两个属性
2)分别给这两个属性定义两个方法,一个方法用于设置值,另一个方法用于获取值.
3)Student类中定义一个无参的构造方法和一个接收两个参数的构造方法,两个参数分别为姓名和性别属性赋值
4)在测试类中创建两个Student对象,一个使用无参的构造方法,然后调用方法给姓名和年龄赋值,一个使用有参的构造方法,在构造方法中给姓名和性别赋值
package Exercises.One_Hundred; public class Student {private String name;private int age;public Student(){}public Student(String name,int age){this.name=name;this.age=age;} public void setName(String name) {this.name = name;} public void setAge(int age) {this.age = age;} public String getName() {return name;} public int getAge() {return age;}}
package Exercises.One_Hundred; public class test {public static void main(String[] args) {Student stu1=new Student();Student stu2=new Student("李四",14); stu1.setName("张三");stu1.setAge(13);} }
4.定义数组,数组元素的值为67,89,87,69,90,100,75,90,用循环找出数组的最大数和最小数
package Exercises.One_Hundred; public class Demo01 {public static void main(String[] args) {int array[]={67,89,87,69,90,100,75,90};int max,min;max=min=array[0]; for(int i=0;i<array.length;i++){if(array[i]>max){max=array[i];} if(array[i]<min){min=array[i];}} System.out.println("最大值为:"+max+" 最小值为:"+min);} }
5.已知函数
y=x+3 (x>0)
y=0 (x=0)
y=X2-1 (x<0)
请设计一个方法实现上面的函数,根据传入的值x的不同,返回对应的y值。
package Exercises.One_Hundred; import java.util.Scanner; public class Demo02 {public static void main(String[] args) {int x,y;Scanner scanner=new Scanner(System.in);x=scanner.nextInt();y=f(x);System.out.println(y);scanner.close();} public static int f(int x){int y;if(x>0){y=x+3;}else if(x<0){y=x*x-1;}else {y=0;}return y; } }
6.任意角a,请编程计算:sin3a=4sinasin(π/3+a)sin(π/3-a)。 请从键盘获取a,输入为角度。例如输入30 则计算sin3a的值为 1。
package Exercises.One_Hundred; import java.util.Scanner; public class Demo03 {public static void main(String[] args) {double a;Scanner scanner=new Scanner(System.in);a=scanner.nextDouble();a=Math.PI/180*a; double sin3a=4*Math.sin(a)*Math.sin(Math.PI/3+a)*Math.sin(Math.PI/3-a);System.out.println(sin3a);scanner.close(); } }
7.定义父类Person和子类Student,父类有非私有的name和age,有两个构造方法,一个是无参的构造方法,一个是有参的构造方法,子类有自己的属性school,有无参的和有三个参数的构造方法
package Exercises.One_Hundred; public class Person {String name;int age;public Person(){}public Person(String name,int age){this.name=name;this.age=age;} }
package Exercises.One_Hundred; public class Student extends Person{private String school; public Student(){ } public Student(String name,int age,String school){super(name,age);this.school=school;} }
8.定义一个有5个整型数的数组,将数组元素倒序存放并输出
package Exercises.One_Hundred; public class Demo04 {public static void main(String[] args) {int array[]={12,25,34,76,89};int temp;for(int i=0;i<array.length/2;i++){temp=array[i];array[i]=array[array.length-1-i];array[array.length-1-i]=temp;} for(int i=0;i<array.length;i++){System.out.print(array[i]+" ");}} }
9.定义一个求正方形周长的方法,方法的参数为正方形的边长,写程序测试方法的正确性。
package Exercises.One_Hundred; public class Demo05 {public static void main(String[] args) {int area=squareC(3);System.out.println(area);} public static int squareC(int side){return 4*side;} }
10.生成10个 [13,56]的自然数,并在一行输出,数据采用空格进行分隔,最后一个数据后面无空格。
package Exercises.One_Hundred; import java.util.Random; public class Demo06 {public static void main(String[] args) {Random random=new Random(System.currentTimeMillis());int[] array=new int[10];for(int i=0;i<10;i++){if(i!=0){System.out.print(" ");}array[i]=random.nextInt(56-13+1)+13;System.out.print(array[i]);}} }
11.求1-100之间的奇数和
package Exercises.One_Hundred; public class Demo07 {public static void main(String[] args) {int sum=0;for(int i=1;i<=100;i++){if(i%2!=0){sum+=i;}}System.out.println(sum);} }
12.从键盘获取字符串str及将要在str中进行统计的指定字符串,输出指定字符串在str中出现的次数。例如:“uabcshyduabchdjabcsk”中含有“abc”的次数是3。
package Exercises.One_Hundred; import java.util.Scanner; public class Demo08 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);System.out.println("请输入字符串:");String str=scanner.nextLine(); System.out.println("请输入要统计的字符串:");String subStr=scanner.nextLine(); int count=0;int formIndex=0;while ((formIndex=str.indexOf(subStr,formIndex))!=-1){count++;formIndex+=subStr.length();} System.out.println(count); } }
13.定义一个求正方形面积的方法,方法的参数为边长,写程序测试方法的正确性。
package Exercises.One_Hundred; public class Demo09 {public static void main(String[] args) {int S=squareS(3);System.out.println(S);}public static int squareS(int side){return side*side;} }
14.机器人A和机器人B,它们有共同点,就是都有名字,不同的是A会唱歌,B会走路。 A在唱歌的方法中输出“我想唱歌”;B在走路的方法中输出“脚踏实地!”。请使用接口技术实现它们,并测试。
package Exercises.One_Hundred; public interface Sing {void sing(); }
package Exercises.One_Hundred; public interface Walk {void walk(); }
package Exercises.One_Hundred; public class Robot {protected String name;public Robot(){ } public Robot(String name){this.name=name;} }
package Exercises.One_Hundred; public class RobotA extends Robot implements Sing{@Overridepublic void sing() {System.out.println("我想唱歌");}public RobotA(){ } public RobotA(String name){super(name);} }
package Exercises.One_Hundred; public class RobotB extends Robot implements Walk{@Overridepublic void walk() {System.out.println("脚踏实地");} public RobotB(){ } public RobotB(String name){super(name);} }
package Exercises.One_Hundred; public class test {public static void main(String[] args) {RobotA robotA=new RobotA("小爱同学");RobotB robotB=new RobotB("小艺");robotA.sing();robotB.walk(); } }
15.打印1~100之间的素数
package Exercises.One_Hundred; public class Demo10 {public static void main(String[] args) { for(int i=1;i<=100;i++){if(isPrime(i)){System.out.println(i);}}}public static boolean isPrime(int num){if(num<=1){return false;}for(int i=2;i<=Math.sqrt(num);i++){if(num%i==0){return false;}}return true;} }
16.输入一个年份,判断其是不是闰年
package Exercises.One_Hundred; import java.util.Scanner; public class Demo11 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int year=scanner.nextInt();if((year%4==0&&year%100!=0)||(year%400==0)){System.out.println("是闰年");}else {System.out.println("不是闰年");}scanner.close(); } }
17.输入一个整数,判断是不是素数。
package Exercises.One_Hundred; import java.util.Scanner; public class Demo12 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);int num=scanner.nextInt();boolean isPrime=true;if(num<=1){System.out.println("不是素数");isPrime=false;}else {for(int i=2;i<=Math.sqrt(num);i++){if(num%i==0){System.out.println("不是素数");isPrime=false;break;}} }if(isPrime){System.out.println("是素数");} } }
18.写一段程序对数组int[] array内的元素从小到大重新排列
package Exercises.One_Hundred; import java.util.Arrays; public class Demo13 {public static void main(String[] args) {int[] array = {65,32,45,89,12,3,40}; System.out.println("排序前的数组:");System.out.println(Arrays.toString(array)); for (int i = 0; i < array.length - 1; i++) {for (int j = 0; j < array.length - i - 1; j++) {if (array[j] > array[j + 1]) {int temp = array[j];array[j] = array[j + 1];array[j + 1] = temp;}}} System.out.println("排序后的数组:");System.out.println(Arrays.toString(array));} }
19.使用do…while循环语句计算正数5的阶乘。
package Exercises.One_Hundred; public class Demo14 {public static void main(String[] args) {int i=1;long sum=1;do{sum*=i;i++;}while (i<=5); System.out.println(sum);} }