按照題目要求編寫的Java程序如下
成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供撫遠(yuǎn)企業(yè)網(wǎng)站建設(shè),專注與成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為撫遠(yuǎn)眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)的建站公司優(yōu)惠進(jìn)行中。
注意 請使用你的真實(shí)姓名和班級替換Test類中
創(chuàng)建Student對象stu時(shí)用的"張三"和"20計(jì)算機(jī)應(yīng)用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+"同學(xué),你所在的班級是"+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計(jì)算機(jī)應(yīng)用01班",5);
stu.setStarNum(4);
stu.printStar();
stu.setScore();
stu.showInfo();
if(stu.getAvg()60){
System.out.println(stu.getName()+"是不合格學(xué)生");
}else{
System.out.println(stu.getName()+"是個(gè)合格學(xué)生");
}
}
}
沒有理解面向?qū)ο笏枷?,相?dāng)于拿著面向?qū)ο笳Z言當(dāng)面向過程語言使用。
首先構(gòu)造方法用來初始化成員變量,但你卻在構(gòu)造方法中定一了一個(gè)局部變量x,這個(gè)變量在整個(gè)類中毫無用處,也無法被人訪問。
一般來說類都擁有自己的成員變量,而成員方法通常用來操作這些變量,但你的judge、rego兩個(gè)方法同類毫無關(guān)系,相當(dāng)于是靜態(tài)方法,只是沒有加static。
在面向?qū)ο笏枷胫幸磺凶兞亢头椒ǘ际菍儆趯ο蠡蝾惖?,main函數(shù)中要調(diào)用變量或方法必須在方法前加“對象名.”(調(diào)用動(dòng)態(tài)方法和動(dòng)態(tài)變量)或“類名.”(調(diào)用靜態(tài)方法和靜態(tài)變量)。從你的程序看兩個(gè)方法都是非靜態(tài)的那么就需要通過對象調(diào)用,也正如樓上所說,要先建立對象在通過對象調(diào)用。抑或?qū)⒎椒ǜ臑殪o態(tài)方法,不須建立對象直接通過類名加靜態(tài)方法調(diào)用。
個(gè)人建議,可以新建一個(gè)成員變量x,保存要判斷的,新建成員方法input,負(fù)責(zé)從外部接受一個(gè)值賦給x,修改judge方法,使其判斷成員變量x,而不是通過參數(shù)從外部去接受一個(gè)值。rego也是如此,注意應(yīng)使用循環(huán)而不是條件。
不知理解正確與否,希望有幫助。
抽象類的應(yīng)用
package com.test.sample;
/**
* 1抽象類和最終類的使用
* ⑴ 定義一個(gè)抽象類Shape用于描述圖形,具有“名稱”(name)
* 屬性以及計(jì)算其面積和周長的兩個(gè)抽象方法GetArea()和GetLength()。
* 定義一個(gè)最終類Circle繼承自類Shape,增加了一個(gè)描述半徑的屬性radius及帶參的構(gòu)造函數(shù)用于該類對象的初始化操作,
* 同時(shí)實(shí)現(xiàn)了Shape類中的兩個(gè)抽象方法來計(jì)算圓的面積和周長。
* 定義一個(gè)最終類Rectangle繼承自類Shape,
* 增加了兩個(gè)屬性length和width用于描述矩形的長和寬及帶參的構(gòu)造函數(shù)用于完成對該類對象的初始化,
* 同時(shí)實(shí)現(xiàn)了Shape類中的兩個(gè)抽象方法來計(jì)算矩形的面積和周長。
* @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("請輸入三個(gè)整數(shù):");
int a = scanner.nextInt();
int b = scanner.nextInt();
int c = scanner.nextInt();
if(a==bb==c){
System.out.print("這三個(gè)數(shù)相等");
}
else{
if(a+b+c1000){
System.out.print("這三個(gè)數(shù)之和大于1000");
}
else{
System.out.print("這三個(gè)數(shù)不大于1000");
}
}
}
}
望采納
應(yīng)該是B,
在java世界中,所有的對象都直接或間接是Object的子類.
按照題目要求編寫的用javaBean規(guī)范設(shè)計(jì)的學(xué)生類Student的Java程序如下
需要?jiǎng)?chuàng)建user.java.test包,把Student.java文件和Test.java文件放入包中,編譯Student.java文件并且編譯運(yùn)行Test.java文件得到運(yùn)行結(jié)果
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 "學(xué)號:"+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("這些學(xué)生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}