java程序练习

定义一个名为 Person的类,其中含有一个 String类型的成员变量name和一个 int类型的成员变量 age,分别为这两个变量定义访问方法和修改方法。另外,再为该类定义一个名为speak的方法,在其中输出其name和age的值。编写程序,使用上面定义的 Person类,实现数据的访问、修改。

public class Person {
	public String name;
	public int age;
//	-------------------------------
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
//	-----------------------------------
	public Person() {
	}
	public Person(String name, int age) {
		super();
		this.name = name;
		this.age = age;
	}
//	---------------------------------------
	public void speak() {
		System.out.println("name:"+name+"\nage:"+age);
	}
	public  static void main(String[] args) {
		Person p1= new Person();
		p1.setName("小明");
		p1.setAge(20);
		System.out.println("姓名:"+p1.getName());
		System.out.println("年龄:"+p1.getAge());
		p1.name="Tom";
		p1.age=22;
		p1.speak();
	}
}

定义一个名为Rectangle的类表示矩形,该类的UML图;其中,求矩形周长的方法是getPerimeter().求而积的方法是getAren()。编写一个RectangleDemo应用程序,在 main()方法中用默认构造方法创建矩形对象后通过方法设置高为1和宽为2,然后输出其周长和面积。

class Rectangle {
	private double height;
	private double width;
	
	public double getHeight() {
		return height;
	}
	public void setHeight(double height) {
		this.height = height;
	}
	public double getWidth() {
		return width;
	}
	public void setWidth(double width) {
		this.width = width;
	}
	public Rectangle(double height, double width) {
		super();
		this.height = height;
		this.width = width;
	}
	public Rectangle() {
		super();
		// TODO Auto-generated constructor stub
	}
	public double getParameter() {
		return 2*(width+height);
	}
	public double getArea() {
		return width*height;
	}
	
}

public class RectangleDemo {

	public static void main(String[] args) {
		Rectangle rec=new Rectangle();
		rec.setHeight(1);
		rec.setWidth(2);
		System.out.println("周长:"+rec.getParameter());
		System.out.println("面积:"+rec.getArea());
	}

}

编写程序,读入一个正整数,显示该整数的所有素数因子。例如,输入整数为120,输出应为2、2、2、3、5。

import java.util.Scanner;
public class Tttttt {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		System.out.println("请输入一个正整数:");
		int a=input.nextInt();
		for(int i=2;i<=a;) {
			if(a%i==0) {
				a=a/i;
				System.out.println(i+" ");
				i=2;
			}
			else {
				i++;
			}
		}

	}
}

一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?

import java.util.Scanner;
public class Tttttt {
	public static void main(String[] args) {
		double s=100;
		double t=100;
		for(int i=1;i<=10;i++) {
			s+=t;
			t=t/2;
		}
		System.out.println("共经过:"+s);
		System.out.println("第10次反弹:"+t);

	}
}

打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。

import java.util.Scanner;
public class Tttttt {
	public static void main(String[] args) {
		long n=1;
		for(int i=1;i<=10;i++) {
			n=n*i;
			System.out.println(i+"!="+n);
		}
		
		int a1,a2,a3;
		for(int m=100;m<=999;m++) {
			a3=m/100;
			a2=m%100/10;
			a1=m%10;
			if((a3*a3*a3+a2*a2*a2+a1*a1*a1)==m) {
				System.out.println("水仙花数是:"+m);
			}
		}

	}
}





import java.util.Scanner;
public class Tttttt {
	public static void main(String[] args) {


	}
}

创建一维字符数组并赋值(a,B,A,Z,v,b),并转化该数组中的大小写。(a-z的ASCII码分别对应:97-122,A-Z的ASCII码分别对应:65-90)。

import java.util.Arrays;

public class MaxTest {
    public static void main(String[] args) {
        // 第一步:创建数组并赋值,值为a,B,A,Z,v,b共6个字符。
        char[] array=new char[]{'a','B','A','Z','v','b'};
        // 第二步:遍历数组元素,如果为小写,请转化为大写,如果为大写,请转化为小写。大小写的ASCII码相差32。
       for(int i=0;i<array.length;i++){
           if(array[i]>='a' && array[i]<='z'){
               array[i]=(char)(array[i]-32);
           }else{
               array[i]=(char)(array[i]+32);
           }
       }
        // 第三步:输出数组元素
        System.out.println("转化后的数组:"+Arrays.toString(array));
}
}

接收给定的数据(如:4,88,43,43,98,#...,其中第一个数代表数组长度,  其余数代表班级所有人数学成绩,# 号用于终止接收数据),遇到 # 号终止接收;- 求班级数学平均成绩,平均成绩用 double 类型表示。

import java.util.Scanner;

public class ArrTest {
    public static void main(String[] args) {
        // 第一步:接收给定的第一个数,用于定义数组长度
        Scanner input = new Scanner(System.in);
        int n=input.nextInt();
        // 第二步:定义数组
        int[] array =new int[n];
        int i=0;
        // 第三步:把成绩赋值给数组元素
        while(!input.hasNext("#")){
          array[i]=input.nextInt();
          i++;
        }
        // 第四步:求所有成绩的和
        int sum=0;
        for(int j=0;j<n;j++){
          sum+=array[j];
        }
        // 第五步:求平均成绩
        double average =sum*1.0/n;
        System.out.print("数学平均成绩为:"+average);
    }
}

输入矩阵进行列求和,第一行输入矩阵行列数,然后输入矩阵,输出每列的和。

import java.util.Scanner;

public class ColumnSum {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int rowNum = input.nextInt();
        int columNum = input.nextInt();
        int[] columSum = new int[columNum];

        int[][] a=new int[rowNum][columNum];
        for(int i=0;i<rowNum;i++){
            for(int j=0;j<columNum;j++){
                a[i][j]=input.nextInt();
            }
        }
        for(int i=0;i<rowNum;i++){
            for(int j=0;j<columNum;j++){
                columSum[j]+=a[i][j];
            }

        input.close();

        for(int i=0; i<columSum.length; i++){
            System.out.print(String.format("%d ", columSum[i]));
        }

    }
}

猜你喜欢

转载自blog.csdn.net/qq_44928278/article/details/126375635