java编程题 本人新手,求详解。

java编程题 本人新手,求详解。,第1张

先看下最终的结果吧,是不是你想要的?

项目结构如下图所示:

其中,Student是父类,PostGraduate是子类,继承自父类Student,Main是主类,用于创建对象以及把这些对象的功能调用起来。

---------------------------Student代码如下:------------------------------

/**

* 学生类

* @author 逍遥

*

*/

public class Student {

//学号

private int sId

//姓名

private String sName

//数学成绩

private double mathScore

//计算机成绩

private double computerScore

/**

* 获取学号

* @return

*/

public int getsId() {

return sId

}

/**

* 设置学号

* @param sId

*/

public void setsId(int sId) {

this.sId = sId

}

/**

* 获取姓名

* @return

*/

public String getsName() {

return sName

}

/**

* 设置姓名

* @param sName

*/

public void setsName(String sName) {

this.sName = sName

}

/**

* 获取数学成绩

* @return

*/

public double getMathScore() {

return mathScore

}

/**

* 设置数学成绩

* @param mathScore

*/

public void setMathScore(double mathScore) {

this.mathScore = mathScore

}

/**

* 获取计算机成绩

* @return

*/

public double getComputerScore() {

return computerScore

}

/**

* 设置计算机成绩

* @param computerScore

*/

public void setComputerScore(double computerScore) {

this.computerScore = computerScore

}

/**

* 输出成员变量(4个成员变量)的信息。

*/

public void print(){

System.out.println("学号:"+sId)

System.out.println("姓名:"+sName)

System.out.println("计算机成绩:"+mathScore)

System.out.println("数学成绩:"+computerScore)

}

}

---------------------------Student代码结束------------------------------

---------------------------PostGraduate代码如下:------------------------------

/**

* 研究生类

* @author 逍遥

*

*/

public class PostGraduate extends Student{

//导师姓名

private String tName

//研究方向

private String ResearchDirection

/**

* 获取导师姓名

* @return

*/

public String gettName() {

return tName

}

/**

* 设置导师姓名

* @param tName

*/

public void settName(String tName) {

this.tName = tName

}

/**

* 获取研究方向

* @return

*/

public String getResearchDirection() {

return ResearchDirection

}

/**

* 设置研究方向

* @param researchDirection

*/

public void setResearchDirection(String researchDirection) {

ResearchDirection = researchDirection

}

/**

* 研究生类重写父类的void print()方法,功能是输出成员变量(6个成员变量)的信息

*/

@Override

public void print() {

// TODO Auto-generated method stub

super.print()

System.out.println("导师姓名:"+tName)

System.out.println("研究方向:"+ResearchDirection)

}

}

---------------------------PostGraduate代码结束------------------------------

---------------------------Main代码如下:------------------------------

import java.util.Scanner

/**

* 主类

* @author 逍遥

*

*/

public class Main {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

//用于获取从键盘上输入的信息

Scanner input=new Scanner(System.in)

//创建一个Student类的对象

Student student=new Student()

//从键盘上输入其属性信息

System.out.print("请输入学生的学号:")

student.setsId(input.nextInt())

System.out.print("请输入学生的姓名:")

student.setsName(input.next())

System.out.print("请输入学生的数学成绩:")

student.setMathScore(input.nextDouble())

System.out.print("请输入学生的计算机成绩:")

student.setComputerScore(input.nextDouble())

//并且通过其print方法输出这些信息;

student.print()

//创建一个PostGraduate类的对象

PostGraduate postGraduate=new PostGraduate()

//从键盘上输入其属性信息

System.out.print("请输入研究生的学号:")

postGraduate.setsId(input.nextInt())

System.out.print("请输入研究生的姓名:")

postGraduate.setsName(input.next())

System.out.print("请输入研究生的数学成绩:")

postGraduate.setMathScore(input.nextDouble())

System.out.print("请输入研究生的计算机成绩:")

postGraduate.setComputerScore(input.nextDouble())

System.out.print("请输入研究生的导师姓名:")

postGraduate.settName(input.next())

System.out.print("请输入研究生的研究方向:")

postGraduate.setResearchDirection(input.next())

//并且通过其print方法输出这些信息。

postGraduate.print()

}

}

---------------------------Main代码结束------------------------------

=================知识点的简单总结=================

本题考察的知识点是面向对象的三大特性之一:继承。

Student为父类,包含了学号、姓名、数学成绩和计算机成绩4个属性,以及一个print()方法。

PostGraduate 继承父类的时候,继承了父类中的所有方法,因为方法我都是用的public,而属性继承不了,因为我在父类中用了封装,所有属性都用private修饰了,想访问属性的话,必须通过get、set方法,这里,我重写了父类中的print方法,通过super.print()调用了父类中的print()方法。

最后就是Main类,提供了main方法作为入口函数,用于按要求声明这些对象以及去调用对象中的方法。

import java.math.BigDecimal

public class JavaCourse {

private String sName//学生姓名

private String sId //学号

private int testGrade //测试成绩

private int regularGrade//平时成绩

private int endOfTermGrade//期末成绩

private int totalGrade //总成绩

public final double TR= 0.3

public final double RR= 0.3

public final double ER= 0.4

public JavaCourse() {

}

public JavaCourse(String sName, String sId, int testGrade, int regularGrade, int endOfTermGrade) {

this.sName = sName

this.sId = sId

this.testGrade = testGrade

this.regularGrade = regularGrade

this.endOfTermGrade = endOfTermGrade

}

public String getsName() {

return sName

}

public void setsName(String sName) {

this.sName = sName

}

public String getsId() {

return sId

}

public void setsId(String sId) {

this.sId = sId

}

public int getTestGrade() {

return testGrade

}

public void setTestGrade(int testGrade) {

this.testGrade = testGrade

}

public int getRegularGrade() {

return regularGrade

}

public void setRegularGrade(int regularGrade) {

this.regularGrade = regularGrade

}

public int getEndOfTermGrade() {

return endOfTermGrade

}

public void setEndOfTermGrade(int endOfTermGrade) {

this.endOfTermGrade = endOfTermGrade

}

public int getTotalGrade() {

return totalGrade

}

@Override

public String toString() {

return "JavaCourse{" +

"sName='" + sName + '\'' +

", sId='" + sId + '\'' +

", testGrade=" + testGrade +

", regularGrade=" + regularGrade +

", endOfTermGrade=" + endOfTermGrade +

'}'

}

public void showTotalGrad() {

//double四舍五入(0.5->1)转int类型

totalGrade = Integer.parseInt(new BigDecimal((testGrade * TR + regularGrade * RR + endOfTermGrade * ER)).setScale(0, BigDecimal.ROUND_HALF_UP).toString())

System.out.println("课程的总成绩:" + totalGrade)

}

}

public class DemoTest02 {

public static void main(String[] args) {

JavaCourse student1 = new JavaCourse()

student1.setsName("小张")

student1.setsId("10086")

student1.setTestGrade(85)

student1.setRegularGrade(90)

student1.setEndOfTermGrade(86)

System.out.println(student1.toString())

student1.showTotalGrad()

JavaCourse student2 = new JavaCourse("老王","10010",60,80,45)

System.out.println(student2.toString())

student2.showTotalGrad()

}

}

不明白你要做什么,但针对你所做的编程做了一点修改,使其不会运行出错。

package word

import java.util.Scanner

public class Word {

public static void main(String args [] ) {

String en[]= {"work","back","come","java","desk","tool","face"}

int sn[]=new int[4*en.length ]

int q=-1

for(int i=0i<en.lengthi++) {

for (int j=1j<=4j++) {

q++

switch(en[i].charAt(j-1)) {

case 'a':

case 'b':

case 'c':

sn[q]=2

continue

case 'd':

case 'e':

case 'f':

sn[q]=3

continue

case 'g':

case 'h': 

case 'i': 

sn[q]=4

continue

case 'j':

case 'k':

case 'l':

sn[q]=5

continue

case 'm':

case 'n':

case 'o':

sn[q]=6

continue

case 'p':

case 'q':

case 'r':

sn[q]=7

continue

case 't':

case 'u':

case 'v':

sn[q]=8

continue

case 'w':

case 'x': 

case 'y': 

case 'z':

sn[q]=9

continue

}

}

}

String s=""

for(int i=0i<4*en.lengthi++) {

s=s+sn[i]

if(i%4==0) s=s+sn[i]+"."

}

String[] sqe=s.split("\\.")

Scanner sc =new Scanner(System.in)

String str1= sc.next()

for(int i=0i<sqe.lengthi++) {

boolean result1=sqe[i].equals(str1)

if ( result1==true) System.out.println(sqe[i]+en[i])

break

}

System.out.println("没匹配单词")

}

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11229788.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-14
下一篇 2023-05-14

发表评论

登录后才能评论

评论列表(0条)

保存