安装java时显示内部错误2502 和2503,怎么办出现此错误的原因是:路径有中文,执行过程中出现乱码导致的,重新默认安装,之后配置下环境变量即可。 如:jdk安装在“C:\Program Files\jd
要求使用面向对象的思想,设计一个学生类,该类可以实现下述功能:
使用面向对象思想,定义一个学生类Student,该类包括以下字段:姓名name,学号stuNo和成绩score。
packagecom.test;
publicclassStudent{
publicStringname;
publicStringstuNo;
publicfloatscore;
publicStudent(Stringname,StringstuNo,floatscore){
this.name=name;
this.stuNo=stuNo;
this.score=score;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetStuNo(){
returnstuNo;
}
publicvoidsetStuNo(StringstuNo){
this.stuNo=stuNo;
}
publicfloatgetScore(){
returnscore;
}
publicvoidsetScore(floatscore){
this.score=score;
}
}
publicclassTestStudent{
publicstaticvoidmain(String[]args){
//TODOAuto-generatedmethodstub
Students1=newStudent("Jack","1001",67);
Students2=newStudent("Rose","1002",89);
Students3=newStudent("James","1003",45);
Students4=newStudent("Lucy","1004",95);
Students5=newStudent("Anna","1005",80);
Student[]sArr={s1,s2,s3,s4,s5};
System.out.println("姓名"+"\t"+"学号"+"\t"+"成绩");
for(inti=0;i{
Students=sArr[i];
System.out.println(s.getName()+"\t"+s.stuNo+"\t"+s.score);
}
}
}
java面向对象综合实验。
源代码:
import java.util.*;
public class Test1 {
public static class Student{
int id;
String name;
int math;
int english;
int history;
public void setId(int id){
this.id=id;
}
public int getId(){
return id;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setMath(int math){
this.math=math;
}
public int getMath(){
return math;
}
public void setEnglish(int english){
this.english=english;
}
public int getEglish(){
return english;
}
public void setHistory(int history){
this.history=history;
}
public int getHistory(){
return history;
}
}
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("请输入学生人数:");
int renshu=scan.nextInt();
Student[]stu=new Student[renshu];
for(int i=0;i
int id,math,english,history;
String name;
System.out.println("请输入学生的学号:");
Scanner scan1=new Scanner(System.in);
id=scan1.nextInt();
System.out.println("请输入该生的姓名:");
Scanner scan2=new Scanner(System.in);
name=scan2.next();
System.out.println("请输入该生的数学、英语、历史成绩:");
Scanner scan3=new Scanner(System.in);
math=scan3.nextInt();
english=scan3.nextInt();
history=scan3.nextInt();
stu[i].setId(id);
stu[i].setName(name);
stu[i].setMath(math);
stu[i].setEnglish(english);
stu[i].setHistory(history);
}
List
list=Arrays.asList(stu);
Iterator
while(it.hasNext()){
Student s=new Student();
s=it.next();
System.out.print("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
System.out.println();
}
System.out.println("三门全部通过的同学为:");
Iterator
while(it1.hasNext()){
Student s=new Student();
s=it1.next();
if(s.getMath()>=60 && s.getEglish()>=60 && s.getHistory()>=60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
System.out.println("三门全部不通过的同学为:");
Iterator
while(it2.hasNext()){
Student s=it2.next();
if(s.getMath()<60 && s.getEglish()<60 && s.getHistory()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
System.out.println();
System.out.println("三门至少有一门通过的同学为:");
Iterator
while(it3.hasNext()){
Student s=it3.next();
if(s.getMath()>=60 || s.getEglish()>60 || s.getHistory()>60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
System.out.println();
System.out.println("数学不通过的同学为:");
Iterator
while(it4.hasNext()){
Student s=it4.next();
if(s.getMath()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
}
}
其实这样get、set不如直接定义一个构造函数方便。
还有下面这个源代码可能不符合要求,没有键盘输入,但是有分别用for和迭代器,更好理解。
import java.util.*;
public class Test {
public static class Student{
int id;
String name;
int math;
int english;
int history;
public void setId(int id){
this.id=id;
}
public int getId(){
return id;
}
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
public void setMath(int math){
this.math=math;
}
public int getMath(){
return math;
}
public void setEnglish(int english){
this.english=english;
}
public int getEglish(){
return english;
}
public void setHistory(int history){
this.history=history;
}
public int getHistory(){
return history;
}
}
public static void main(String[] args) {
Student s1=new Student();
s1.setId(11);
s1.setName("dr");
s1.setMath(100);
s1.setEnglish(90);
s1.setHistory(80);
Student s2=new Student();
s2.setId(12);
s2.setName("spe");
s2.setMath(100);
s2.setEnglish(50);
s2.setHistory(80);
Student s3=new Student();
s3.setId(13);
s3.setName("wr");
s3.setMath(50);
s3.setEnglish(100);
s3.setHistory(80);
Student s4=new Student();
s4.setId(14);
s4.setName("axe");
s4.setMath(50);
s4.setEnglish(50);
s4.setHistory(50);
List
list.add(s1);
list.add(s2);
list.add(s3);
list.add(s4);
System.out.println("使用迭代器:");
System.out.println("所有学生成绩:");
Iterator
while(it.hasNext()){
Student s=it.next();
System.out.print("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
System.out.println();
}
System.out.println();
System.out.println("三门全部通过的同学为:");
Iterator
while(it1.hasNext()){
Student s=it1.next();
if(s.getMath()>=60 && s.getEglish()>=60 && s.getHistory()>=60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
System.out.println("三门全部不通过的同学为:");
Iterator
while(it2.hasNext()){
Student s=it2.next();
if(s.getMath()<60 && s.getEglish()<60 && s.getHistory()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
System.out.println();
System.out.println("三门至少有一门通过的同学为:");
Iterator
while(it3.hasNext()){
Student s=it3.next();
if(s.getMath()>=60 || s.getEglish()>60 || s.getHistory()>60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
System.out.println();
System.out.println("数学不通过的同学为:");
Iterator
while(it4.hasNext()){
Student s=it4.next();
if(s.getMath()<60)
System.out.println("学号:"+s.getId()+" 姓名:"+s.getName()+" 数学:"+s.getMath()+" 英语:"+s.getEglish()+" 历史"+s.getHistory());
}
System.out.println();
System.out.println("使用for语句");
System.out.println("所有学生成绩:");
for(int i=0;i
System.out.println();
System.out.println("三门全部通过的同学为:");
for(int i=0;i
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory());
}
System.out.println();
System.out.println("三门全部不通过的同学为:");
for(int i=0;i
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory());
}
System.out.println();
System.out.println("三门至少有一门通过的同学为:");
for(int i=0;i
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory());
}
System.out.println();
System.out.println("数学不通过的同学为:");
for(int i=0;i
System.out.println("学号"+list.get(i).getId()+" 姓名 "+list.get(i).getName()+" 数学"+list.get(i).getMath()+" 英语"+list.get(i).getEglish()+" 历史"+list.get(i).getHistory());
}
System.out.println();
}
}
编写Java程序,用于显示学生的姓名和年龄、专业。
java是面向对象的编程语言,一切皆为对象。本题虽然基础,但是特别有代表性。在做这类java编程时也应该引入面向对象的思维。
一学生类属性的定义:
1.拥有三个属性,姓名,年龄和专业
姓名,是用文字进行表述的,所以可以使用String 字符串类型
年龄,大家都说18,19岁,一般很少听人说18.725岁,所以我们可以使用int整数类型来表示
专业,也是用文字进行表述的,所以还是用String字符串类型
2. 修饰符:java为了更好的封装,所以属性一般要用private进行修饰,
但是可以用setter对属性进行修改,也可以用getter对属性进行读取
二构造方法的设计
为了符合java开发的规范和习惯,需要添加一个无参数的构造器。
有参数的构造方法,需要对属性进行初始化设置
三方法的设置
除开属性的setter和getter方法外。
符合开发规范,还需要重写toString方法。用于返回字符串
所以我们显示(打印)信息时,也可以直接调用toString返回的字符串,然后打印
四 参考代码和注释
学生类
publicclassStudent{//定义学生类
privateStringname;//属性姓名
privateintage;//属性年龄
privateStringmajor;//属性专业
publicStudent(){//无参数的构造法:为了符合java开发规范和习惯,添加一个无参构造器
}
publicStudent(Stringname,intage,Stringmajor){//有参的构造方法,初始化属性
this.name=name;
this.age=age;
this.major=major;
}
publicvoidShowInfo(){//显示信息的方法
System.out.println(this);//打印时,自动调用toString方法,把该实例打印出来
}
publicStringtoString(){//重写父类的toString方法,也是符合java规范的
return"【学生】\t姓名:"+name+"\t年龄:"+age+"\t专业:"+major;
}
//下面是属性的get和set方法,getter用于获取属性的值,setter用于设置或修改属性的值
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicintgetAge(){
returnage;
}
publicvoidsetAge(intage){
this.age=age;
}
publicStringgetMajor(){
returnmajor;
}
publicvoidsetMajor(Stringmajor){
this.major=major;
}
}
测试类
publicclassTest{
publicstaticvoidmain(String[]args){
Students1=newStudent("张三",19,"汉语语言文学");//调用有参数的构造器,创建学生实例
s1.ShowInfo();//显示信息
Students2=newStudent();//调用无参数的构造器,创建学生实例
s2.setName("李四");//设置属性的值
s2.setAge(20);
s2.setMajor("计算机科学与技术");
s2.ShowInfo();
}
}
测试结果
【学生】 姓名:张三 年龄:19 专业:汉语语言文学
【学生】 姓名:李四 年龄:20 专业:计算机科学与技术
五总结
通过这种基础编程,主要训练我们面向对象的思维,以及养成良好的编程习惯。
面向对象程序设计编写一个简单的学生成绩管理系统
#include设计一个学生类studnet要求
#include相关文章
- 详细阅读
-
慧编程如何启动游戏详细阅读
别人发过来的慧编程我怎么打开首先,打开慧编程软件界面后,鼠标点击右上角的Python编辑器按钮.等待模式加载完成后,点击左上角文件菜单下的新建作品按钮.接着,输入print ("Hello
-
java 快速排序代码为什么右边没有详细阅读
快速排序 java,我的代码如下,出来的结果一直不对,谁给我看看什么原因?您好,按照你现在的程序你编译后的结果应该是数组里面的数字,大的都到了右边,小的都到了左边,但是右边大的和左
-
Java编写农村社会的现状关系详细阅读
鈥淵ou only live once,do what you want to do鈥什么意思钬渊ou only live once,do what you want to do 钬渊你只活一次,做你想做的事 钬渊ou only live once,do what you wan
-
自学Java需要多长时间?详细阅读
自学java编程,要多久能学会?因人而异,例如一个零基础的小白自学java,每天学习8个小时来算,而且在有学习资料的基础上,每天学习,从零到找到工作,起码要半年起步,而且还要有项目经验,否
- 详细阅读
-
JAVA求一个含有登陆注册的猜拳游戏详细阅读
用java编写一个猜拳游戏importjava.util.Scanner;
publicclassGame{
privateScannerscan=newScanner(System.in);
privateStringrule[]={"","剪刀","石头","布"};
privat -
我的世界JAVA版如何在游戏文件夹里详细阅读
我的世界怎么改游戏版本名字在我的世界根目录里: 进入根目录里的.minecraft文件夹,再进入versions,修改你想修改的版本文件夹,修改好后进入你刚刚修改的文件夹,把里面的全部修改
-
你好 我想让孩子学编程 有没有好详细阅读
少儿编程应该如何入门,从哪里学比较好?少儿编程入门在童程童美学比较好。童程童美少儿编程体验课,点击可免费报名试听
童程童美在线课程采用分级模式,一二年级学生学习Scratch -
为什么我的世界JAVA版开服后不能用详细阅读
我的世界服务器的命令方块用不了在你服务端的根目录里面,有个server.properties的文件。 建议用notepad打开,里面的下面这个东西设置为true enable-command-block=true 就可以