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);}
}