按照题目要求编写的Java程序如下
成都创新互联公司是一家专业提供抚远企业网站建设,专注与成都网站设计、成都网站制作、H5页面制作、小程序制作等业务。10年已为抚远众多企业、政府机构等服务。创新互联专业的建站公司优惠进行中。
注意 请使用你的真实姓名和班级替换Test类中
创建Student对象stu时用的"张三"和"20计算机应用01班"
import java.util.Scanner;
class Student{
private String name,classname;
private int starnum,scorenum;
private int[] scores;
public void setStarNum(int n){
this.starnum=n;
}
public Student(String name,String classname,int scorenum){
this.name=name;
this.classname=classname;
this.scorenum=scorenum;
}
public String getName(){
return this.name;
}
public void printStar(){
for(int i=0;istarnum;i++){
for(int j=0;j2*i+1;j++){
System.out.print("*");
}
System.out.println();
}
}
public void setScore(){
Scanner sc=new Scanner(System.in);
scores=new int[scorenum];
System.out.print("请输入各科成绩:");
for(int i=0;iscorenum;i++){
scores[i]=sc.nextInt();
}
}
public void showInfo(){
System.out.print(name+"同学,你所在的班级是"+classname+",你各科考试成绩分别为:");
for(int i=0;iscorenum;i++){
if(i==scorenum-1)
System.out.print(scores[i]);
else
System.out.print(scores[i]+",");
}
System.out.println();
}
public float getAvg(){
float sum=0;
for(int i=0;iscorenum;i++){
sum=sum+scores[i];
}
return sum/scorenum;
}
}
public class Test{
public static void main(String[] args){
Student stu=new Student("张三","20计算机应用01班",5);
stu.setStarNum(4);
stu.printStar();
stu.setScore();
stu.showInfo();
if(stu.getAvg()60){
System.out.println(stu.getName()+"是不合格学生");
}else{
System.out.println(stu.getName()+"是个合格学生");
}
}
}
没有理解面向对象思想,相当于拿着面向对象语言当面向过程语言使用。
首先构造方法用来初始化成员变量,但你却在构造方法中定一了一个局部变量x,这个变量在整个类中毫无用处,也无法被人访问。
一般来说类都拥有自己的成员变量,而成员方法通常用来操作这些变量,但你的judge、rego两个方法同类毫无关系,相当于是静态方法,只是没有加static。
在面向对象思想中一切变量和方法都是属于对象或类的,main函数中要调用变量或方法必须在方法前加“对象名.”(调用动态方法和动态变量)或“类名.”(调用静态方法和静态变量)。从你的程序看两个方法都是非静态的那么就需要通过对象调用,也正如楼上所说,要先建立对象在通过对象调用。抑或将方法改为静态方法,不须建立对象直接通过类名加静态方法调用。
个人建议,可以新建一个成员变量x,保存要判断的,新建成员方法input,负责从外部接受一个值赋给x,修改judge方法,使其判断成员变量x,而不是通过参数从外部去接受一个值。rego也是如此,注意应使用循环而不是条件。
不知理解正确与否,希望有帮助。
抽象类的应用
package com.test.sample;
/**
* 1抽象类和最终类的使用
* ⑴ 定义一个抽象类Shape用于描述图形,具有“名称”(name)
* 属性以及计算其面积和周长的两个抽象方法GetArea()和GetLength()。
* 定义一个最终类Circle继承自类Shape,增加了一个描述半径的属性radius及带参的构造函数用于该类对象的初始化操作,
* 同时实现了Shape类中的两个抽象方法来计算圆的面积和周长。
* 定义一个最终类Rectangle继承自类Shape,
* 增加了两个属性length和width用于描述矩形的长和宽及带参的构造函数用于完成对该类对象的初始化,
* 同时实现了Shape类中的两个抽象方法来计算矩形的面积和周长。
* @author Administrator
*
*/
public abstract class Shape {
public static double PI=3.14;
public String name;
public abstract double GetArea();
public abstract double GetLength();
}
=================================================
package com.test.sample;
/**
* 用于圆的子类
* @author Administrator
*
*/
public class Circle extends Shape {
private double radius;
public Circle(String name,double radius)
{
this.radius=radius;
this.name=name;
}
@Override
public double GetArea() {
// TODO Auto-generated method stub
return PI*radius*radius;
}
@Override
public double GetLength() {
// TODO Auto-generated method stub
return 2*PI*radius;
}
}
===================================================
package com.test.sample;
/**
* 矩形
* @author Administrator
*
*/
public class Rectangle extends Shape {
private double length;
private double width;
public Rectangle(String name,double length,double width)
{
this.name=name;
this.length=length;
this.width=width;
}
@Override
public double GetArea() {
// TODO Auto-generated method stub
return length*width;
}
@Override
public double GetLength() {
// TODO Auto-generated method stub
return 2*(length+width);
}
}
import java.util.Scanner;
public class text {
public static void main(String [] args ){
Scanner scanner = new Scanner(System.in);
System.out.println("请输入三个整数:");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
if(a==bb==c){
System.out.print("这三个数相等");
}
else{
if(a+b+c1000){
System.out.print("这三个数之和大于1000");
}
else{
System.out.print("这三个数不大于1000");
}
}
}
}
望采纳
应该是B,
在java世界中,所有的对象都直接或间接是Object的子类.
按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下
需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果
Student.java文件代码如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "学号:"+no+",姓名:"+name+",成绩:"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代码如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","张三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","赵六",73.5);
sArray[4]=new Student("005","孙七",66);
System.out.println("这些学生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}