创建一个简单的表示矩形的Rectangle类,满足以下条件:
1、定义两个成员变量height和width,表示矩形的长和宽,类型为整型 2、定义一个getArea方法,返回矩形的面积 3、定义一个getPerimeter方法,返回矩形的周长 4、在main函数中,利用输入的2个参数分别作为矩形的长和宽,调用getArea和getPermeter方法,计算并返回矩形的面积和周长
输入:
输入2个正整数,中间用空格隔开,分别作为矩形的长和宽,例如:5 8
输出:
输出2个正整数,中间用空格隔开,分别表示矩形的面积和周长,例如:40 26
import java.util.*;
class Rectangel{
int height ,width;
public int getArea(int h,int w){
return h * w;
}
public int getPerimeter(int h, int w){
return (h + w)*2;
}
}
public class Main{
public static void main(String args[]){
Scanner cin = new Scanner(System.in);
int Height = cin.nextInt();
int Width = cin.nextInt();
Rectangel r1 = new Rectangel();
System.out.print(r1.getArea(Height,Width)+" ");
System.out.println( r1.getPerimeter(Width,Height));
}
}
编写一个表示二维平面上的点的类MyPoint,满足以下条件:
1、定义private的成员变量x和y,表示点的x和y坐标,类型为double
2、定义两个MyPoint的构造方法,一个构造方法不带参数,而且x和y的初始值为0,另一个构造方法有两个参数,参数名为x和y,类型为double,用这两个参数分别作为初始x和y坐标
3、定义一个getD方法,有一个类型为MyPoint的对象参数,功能为返回当前对象和参数对象这两个坐标点的距离,返回值为double类型
4、编写测试的main方法,调用getD计算两个点之间的距离
输入:
输入2行数据, 总共4个有理数。每2个数据一组,表示一个点的x和y坐标,每行的2个数据用空格隔开。例如:
200.1 200.2
200.3 200.4
输出:
输出两个点之间的距离。例如:
0.28284271247464315
import java.util.Scanner;
class MyPoint{
private double x,y;
MyPoint(){
x=0;
y=0;
}
MyPoint(double x,double y){
this.x=x;
this.y=y;
}
double getD(MyPoint a,MyPoint b){
return Math.sqrt((b.x-a.x)*(b.x-a.x)+(b.y-a.y)*(b.y-a.y));
}
}
public class Main {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
MyPoint a=new MyPoint(input.nextDouble(),input.nextDouble());
MyPoint b=new MyPoint(input.nextDouble(),input.nextDouble());
System.out.println(a.getD(a,b));
}
}
编写一个三角形类,能根据输入的3个double类型数据构造三角形对象,定义三个构造方法。
如果这3个数据满足构成三角形的条件,直接构造三角形。否则,如果3个数的最大值大于0,则自动构造以最大值为边的等边三角形。
如果最大值也不大于0,则将三角形类的三边都初始化为0。
再定义一个getArea方法,计算所构造的三角形的面积,返回类型为double。
最后,编写main方法,测试getArea方法,计算三角形的面积。
输入:
输入三个有理数,中间用空格隔开。例如:
8.9 6.4 7.2
输出:
输出三角形的面积。例如:
22.7881239629329
import javax.print.attribute.standard.Sides;
import java.util.Scanner;
class Triangle{
private double sideA, sideB, sideC;
Triangle(double a, double b,double c){
this.sideA = a; this.sideB = b;
this.sideC = c;
}
public boolean judgeTri(){
if((sideA + sideB > sideC)&&(sideA + sideC > sideB)&&(sideB + sideC > sideA) )
return true;
else {
if(judgeMax() > 0)
this.sideA = this.sideB = this.sideC = judgeMax();
else
this.sideA = this.sideB = this.sideC = 0;
return false;
}
}
public double judgeMax(){
double temNum = (sideA > sideB ? sideA : sideB);
return temNum > sideC ? temNum : sideC;
}
public double judgeMin(){
double temNum = sideA > sideB ? sideB : sideA;
return temNum > sideC ? temNum : sideC;
}
public double getArea(){
double p =(sideA+sideB+sideC)/2;
return Math.sqrt(p*(p-sideA)*(p-sideB)*(p-sideC));
}
}
public class Main{
public static void main(String args[]){
Scanner cin = new Scanner(System.in);
double sideA = cin.nextDouble();
double sideB = cin.nextDouble();
double sideC = cin.nextDouble();
Triangle t1 = new Triangle(sideA,sideB,sideC);
t1.judgeTri();
System.out.println(t1.getArea());
}
}
课堂上说的枚举
public enum Planet {
MERCURY (3.303e+23, 2.4397e6),
VENUS (4.869e+24, 6.0518e6),
EARTH (5.976e+24, 6.37814e6),
MARS (6.421e+23, 3.3972e6),
JUPITER (1.9e+27, 7.1492e7),
SATURN (5.688e+26, 6.0268e7),
URANUS (8.686e+25, 2.5559e7),
NEPTUNE (1.024e+26, 2.4746e7);
private final double mass; // in kilograms
private final double radius; // in meters
Planet(double mass, double radius) {
this.mass = mass;
this.radius = radius;
}
private double mass() { return mass; }
private double radius() { return radius; }
// universal gravitational constant (m3 kg-1 s-2)
public static final double G = 6.67300E-11;
double surfaceGravity() {
return G * mass / (radius * radius);
}
double surfaceWeight(double otherMass) {
return otherMass * surfaceGravity();
}
public void main(String[] args) {
if (args.length != 1) {
System.err.println("Usage: java Planet <earth_weight>");
System.exit(-1);
}
double earthWeight = Double.parseDouble(args[0]);
double mass = earthWeight/EARTH.surfaceGravity();
for (Planet p : Planet.values())
System.out.printf("Your weight on %s is %f%n",
p, p.surfaceWeight(mass));
}
}