1、
定义Student类,包含三个私有属性:name、id、score,根据输出结果,填写程序的空白处。
构造方法中,如果输入的分数不在0~100之间,则对score属性赋值为0。
在对score属性赋值的set方法中,如果给的值不在0~100之间,则给出错误信息,并且不对score进行修改。
package learn;
import java.util.Scanner;
public class Student {
private String name, id;
private int score;
public Student() {
}
public Student(String name, String id, int score) {
this.name = name;
this.id = id;
if (score >= 0 && score <= 100) {
this.score = score;
} else {
this.score = 0;
}
}
public void setScore(int num) {
if (num >= 0 && num <= 100) {
score = num;
} else {
System.out.println("score input error");
}
}
@Override
public String toString() {
String res = "name=" + name + ",id=" + id + ",score=" + score;
return res;
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String n, s;
int sc;
n = in.nextLine();
s = in.nextLine();
sc = in.nextInt();
Student stu = new Student(n, s, sc);
System.out.println(stu);
stu.setScore(sc + 50);
System.out.println(stu);
}
}
2、
输入三角形的三边长,计算面积和周长。
类中有构造方法、关于属性的set、get方法、计算面积和周长的方法。如果输入的边长不能构成三角形,则对象会拒绝接受该值,并输出相应的错误信息。
如果构造方法中提供的三边不能构成三角形,则三边都赋值为0。
根据已有源代码和输出结果,填写代码空白处,使程序完整。
package learn;
import java.util.Scanner;
public class Triangle {
private double a, b, c;
public Triangle(){
}
public Triangle(double a,double b,double c){
if(isTriangle(a,b,c)) {
this.a = a;
this.b = b;
this.c = c;
}else{
this.a=0;
this.b=0;
this.c=0;
}
}
public double getPerimeter(){
return a+b+c;
}
public double getArea(){
double p=(a+b+c)/2;
double s=Math.sqrt(p*(p-a)*(p-b)*(p-c));
return s;
}
public static boolean isTriangle(double a,double b,double c){
if(a+b>c && a+c>b && b+c>a){
return true;
}
return false;
}
public void setSide(double x,double y,double z){
if(isTriangle(x,y,z)){
a=x;
b=y;
c=z;
}else {
System.out.println("a b c input error");
}
}
public void setA(double x){
if(isTriangle(x,b,c)){
a=x;
}else {
System.out.println("a input error");
}
}
public void setB(double y){
if(isTriangle(a,y,c)){
b=y;
}else {
System.out.println("b input error");
}
}
public void setC(double z){
if(isTriangle(a,b,z)){
c=z;
}else {
System.out.println("c input error");
}
}
public double getA() {
return a;
}
public double getB() {
return b;
}
public double getC() {
return c;
}
@Override
public String toString(){
return "a="+a+",b="+b+",c="+c;
}
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
double x = in.nextDouble();
double y = in.nextDouble();
double z = in.nextDouble();
Triangle t = new Triangle(x, y, z);
System.out.println("perimeter=" + t.getPerimeter());
System.out.println("area=" + t.getArea());
System.out.println(t);
t.setSide(t.getA() + 3, t.getB() + 2, t.getC() + 1);
System.out.println(t);
t.setA(t.getA() + 20);
System.out.println(t);
t.setB(t.getB() + 20);
System.out.println(t);
t.setC(t.getC() + 20);
System.out.println(t);
in.close();
}
}