JAVA经典例题一(8 examples)

  1. 编写程序输出乘法口诀表
public class Tabuada{
	public static void main(String[] args) {
		int i,j;
		for(i=1;i<=9;i++) {
			for(j=1;j<=i;j++) {
				int s=i*j;
				System.out.print(i+"×"+j+"="+s+"\t");
			}
			System.out.println();
		}
	}
	
}
  1. 设计一共程序,分别用循环控制计算1+1/2!+1/3!+…的前20项的和
public class Sum {
	public static void main(String[] args) {
		float sum=0;
		float a=1;
		for(int i=1;i<=20;i++) {			
			a=i*a;
		    sum=sum+1/a;
		}
		 System.out.println(sum);
	}
}
  1. 设计一个程序,求1000以内的所有完数并输出。一个数除去它本身若恰好等于它因子之和,则该数为“完数”
public class WanShu {
	public static void main(String[] args) {
		int j=0;
		for(int i=1;i<=1000;i++)
		{
			for(int m=1;m<i;m++){
				if(i%m==0){
					j=m+j;
				}
			}
			if(i==j){
				System.out.println(i);
			}
			j=0;
		}
	}
}
  1. 编写计算贷款每月支付额。程序要求用户输入贷款的年利率、总金额和年数,程序就计算月支付金额和总偿还金额。计算贷款的月支付款公式为:在这里插入图片描述
import java.util.Scanner;
public class Loan {
	public static void main(String[] args) {
		float allmoney=0,yuelilv=0,year;
		Scanner get=new Scanner(System.in);
		System.out.println("请输入你的贷款总额:");
		allmoney=get.nextFloat();
		System.out.println("请输入你的月利率:");
		yuelilv=get.nextFloat();
		System.out.println("请输入你的贷款年数:");
		year=get.nextFloat();
		float a,b,c;
		a=allmoney*yuelilv;
		c=(float)Math.pow(1+yuelilv,year*12);
		b=a/(1-1/c);
		System.out.println("月支付金额为:"+b);
		System.out.println("总偿还金额为:"+12*b);
	}
}
  1. 给定圆的半径r,求圆的面积,输出一行,包含一个实数,四舍五入保留小数点后7位,表示圆的面积,位数不够用0来凑
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Main mm=new Main();
		
		Scanner get=new Scanner(System.in);
		int r=get.nextInt();
		if(r>=1&&r<=10000) {
			double PI=Math.atan(1.0)*4;
			double s=PI*r*r;
			String ss=mm.formatDecimalWithZero(s, 7);//返回值是String类型
			System.out.println(ss);		
		}
		get.close();
	}
	 public String formatDecimalWithZero(double m, int newScale) {//m表示最初的小数;newScale表示保留小数位数
	        String pattern = "0.";
	        for (int i = 0; i < newScale; i++) {
	            pattern += "0";
	        }
	        DecimalFormat df = new DecimalFormat(pattern);

	        return df.format(Double.valueOf(m));
	    }
}
  1. 定义一个Person类,其中包含成员变量:姓名、 年龄、性别、国籍等;成员方法:用于获取成员变量值的getter方法和用于修改成员变量值的setter方法以及输出所有成员信息的方法;构造方法(体现构造方法重载)。然后定义测试类TestPerson,创建Person对象调用其相应的方法。
public class TestPerson {

	public static void main(String[] args) {
		Person t=new Person();
		t.Person();
		t.Person("abc","男","中国",18);
	}

}
 class Person{
	private String name="abc";
	private String sex="男";
	private String nationality="中国";
	private int age=18;
	
	public String getName() {
		return name;
	}
	public void setName(String name1) {
		name1 = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex1) {
		sex1 = sex;
	}
	public String getNationality() {
		return nationality;
	}
	public void setNationality(String nationality1) {
		nationality1 = nationality;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age1) {
		age1 = age;
	}
	public void Person(String name,String sex,String nationality,int age) {
		System.out.println("姓名为:"+this.name);
		System.out.println("性别为:"+this.sex);
		System.out.println("国籍为:"+this.nationality);
		System.out.println("年龄为:"+this.age);
	}
	public void Person() {
		System.out.println("姓名为:"+name+"年龄为:"+age+"性别为:"+sex+"国籍为:"+nationality);
	}
}
  1. 定义一个TV类(表示电视机),其中包含的状态:电源开关、频道、音量以及动作:开关电视、转换频道、调节音量等。然后定义测试类TestTV,创建TV对象调用其相应的方法
public class TestTV {
	public static void main(String[] args) {
		TV t = new TV();
		t.currentState();
		t.off();
		t.channelUp(6);
		t.volumeDown(5);
	}
}
class TV {
	String powerSwitch = "开";
	int channel = 16;
	int volume = 17;
	public void currentState() {
		System.out.println("电视机现在的状态是:"+"电源开关为:"+powerSwitch+" 频道为:"+channel+" 音量为:"+volume);
	}
	public void on() {
		System.out.println("打开电视");
	}
	public void off() {
		System.out.println("关闭电视");
	}
	public int channelDown(int decrement) {
		int channel1=channel-decrement;
		System.out.println("调节频道至:"+channel1);
		return channel1;
	}
	public int channelUp(int increment) {
		int channel2=channel+increment;
		System.out.println("调节频道至:"+channel2);
		return channel2;
	}
	public int volumeDown(int decrement) {
		int volume1=volume - decrement;
		System.out.println("调低音量至:"+volume1);
		return volume1;
	}
	public int volumeUp(int increment) {
		int volume2=volume + increment;
		System.out.println("调高音量至:"+volume2);
		return volume2;
	}
}
  1. 为一元二次方法设计名QuadraticEquation的类。该类包括
    (1)表示三个系统的私有成员变量a、b、c;
    (2)用于a、b、c的赋值的构造方法;
    (3)用于获得或修改a、b、c的getter方法和setter方法;
    (4)用于返回判别式()的值的方法getDiscriminant(),说明:判别式为负返回0,为非负才有意义;
    (5)用于获取方程两个根的方法。
    然后定义测试类TestQuadEquation,创建QuadraticEquation对象调用其相应的方法
import java.lang.Math;
public class TestQuadEquation {
	public static void main(String[] args) {
		QuadraticEquation q=new QuadraticEquation(1, 13, 2);
		q.getDiscriminant();
		q.root();
		q.setB(-3);
		q.getDiscriminant();
		q.root();
	}
}
class QuadraticEquation{
	private int a;
	private int b;
	private int c;
	QuadraticEquation(int a,int b,int c){
		this.a=a;
		this.b=b;
		this.c=c;
	}
	public int getA() {
		return a;
	}
	public void setA(int a) {
		this.a = a;
	}
	public int getB() {
		return b;
	}
	public void setB(int b) {
		this.b = b;
	}
	public int getC() {
		return c;
	}
	public void setC(int c) {
		this.c = c;
	}
	public double getDiscriminant() {
		if(b*b-4*a*c>=0) {
			double m=(double)(b*b-4*a*c);
			System.out.println("方程的判别式为:"+m);
			return m;	
		}
		else {
			System.out.println("方程无解");
			return 0;
		}
	}
	public void root() {
		double root1=(-b+Math.sqrt(b*b-4*a*c))/(2*a);
		double root2=(-b-Math.sqrt(b*b-4*a*c))/(2*a);
		System.out.println("方程的两个根为:"+root1+";"+root2);
	}
}

猜你喜欢

转载自blog.csdn.net/WU2629409421perfect/article/details/86535889