本人私人博客:Codewalking,大部分文章会现在博客上传,有不足之处欢迎指正。
学校小学期Java课程的练习题,留个档便于以后需要时候有例子可以回忆,写的烂的地方请多多包含
import java.util.Scanner;
class University {
/*
TODO:计算考试分数是否达到大学录取线
功能描述:计算数学、英语、语文成绩和,如果和大于等于180,则输出"考分"+total+"达到大学最低录取线",否则输出"考分"+total+"未达到大学最低录取线"
参数说明:math/english/chinese分别为数学、英语、语文成绩
返回值说明:无
*/
void enterRule(double math,double english,double chinese) {
double total=math+english+chinese;
if(total>=180){
System.out.println("考分"+total+"达到大学最低录取线");
}
else{
System.out.println("考分"+total+"未达到大学最低录取线");
}
}
}
class ImportantUniversity extends University{
/*
TODO:计算考分是否达到重点大学录取线
功能描述:计算数学、英语、语文成绩和,如果和大于等于220,则输出"考分"+total+"达到重点大学录取线",否则输出"考分"+total+"未达到重点大学录取线"
参数说明:math/english/chinese分别为数学、英语、语文成绩
返回值说明:无
*/
void enterRule(double math,double english,double chinese) {
double total=math+english+chinese;
if(total>=220){
System.out.println("考分"+total+"达到重点大学录取线");
}
else{
System.out.println("考分"+total+"未达到重点大学录取线");
}
}
}
public class Test{
public static void main(String args[]) {
System.out.println("请输入数学、英语、语文成绩");
Scanner scanner = new Scanner(System.in);
ImportantUniversity univer = new ImportantUniversity();
//TODO:调用重写的方法enterRule,输入三门成绩
univer.enterRule(scanner.nextDouble(),scanner.nextDouble(),scanner.nextDouble());
System.out.println("请输入数学、英语、语文成绩");
univer = new ImportantUniversity();
//TODO:调用重写的方法enterRule,输入三门成绩
univer.enterRule(scanner.nextDouble(),scanner.nextDouble(),scanner.nextDouble());
}
}
import java.util.Scanner;
class A {
/*
TODO:求和方法
功能描述:计算两个float型输入的数之和
参数说明:float x,y分别为需要计算的两个数
返回值说明:两个参数的和
*/
float computer(float x,float y) {
return x+y;
}
/*
TODO:求和方法
功能描述:计算两个int型输入的数之和
参数说明:int x,y分别为需要计算的两个数
返回值说明:两个参数的和
*/
public int g(int x,int y) {
return x+y;
}
}
class B extends A {
/*
TODO:求乘积方法
功能描述:计算两个float型输入的数的乘积
参数说明:float x,y分别为需要计算的两个数
返回值说明:两个参数的乘积
*/
float computer (float x,float y) {
return x*y;
}
}
public class Example5_5 {
@SuppressWarnings("resource")
public static void main(String args[]) {
B b=new B();
System.out.println("请输入两个数计算乘");
Scanner scanner = new Scanner(System.in);
//TODO:b调用重写的方法computer,参数为两个float型的输入数,将结果赋值给result
float result=b.computer(scanner.nextFloat(),scanner.nextFloat());
System.out.println(result);
System.out.println("请输入两个数计算和");
//TODO:b调用继承的方法g,参数为两个int型的输入数,将结果赋值给m
int m=b.g(scanner.nextInt(),scanner.nextInt());
System.out.println(m);
}
}
import java.util.Scanner;
class A {
Object get() {
//TODO:返回一个空对象
return null;
}
}
class B extends A {
Integer get() {
System.out.println("请输入一个数");
/*
TODO:返回一个Integer对象
使用scanner输入一个整数,作为构造方法的参数
*/
Scanner scanner = new Scanner(System.in);
return new Integer(scanner.nextInt());
}
}
public class Example5_6 {
public static void main(String args[]) {
B b=new B();
Integer t=b.get();
System.out.println(t.intValue());
}
}
import java.util.Scanner;
class Sum {
int n;
/*
TODO:求和方法
功能描述:计算1-n的和 循环计算:sum=sum+i 从1到n
参数说明:无
返回值说明:1-n的和
*/
float f() {
float sum=0;
for(float i=1;i<=n;i++){
sum=sum+i;
}
return sum;
}
}
class Average extends Sum {
int n;
/*
TODO:求平均数
功能描述:使用super关键字将本类n赋值给父类n,然后调用父类f方法计算和,在除以n求平均数
参数说明:无
返回值说明:平均数的值
*/
float f() {
super.n=n;
return super.f()/n;
}
/*
TODO:求1/2倍数
功能描述:调用父类f方法计算和,再求和的1/2倍数
参数说明:无
返回值说明:1/2倍数值
*/
float g() {
float temp=super.f()/2;
return temp;
}
}
public class Example5_7 {
public static void main(String args[]) {
Average aver=new Average();
System.out.println("请输入一个数n计算1..n和的平均数、2/1的倍数");
Scanner scanner = new Scanner(System.in);
aver.n = scanner.nextInt();
float resultOne=aver.f();
float resultTwo=aver.g();
System.out.println("resultOne="+resultOne);
System.out.println("resultTwo="+resultTwo);
}
}
import java.util.Scanner;
class Student {
int number;String name;
Student() {
}
/*
TODO:本地变量赋值并打印
功能描述:将形参赋值给本地变量,然后打印输出
参数说明:number,name赋值给本地变量number,name
返回值说明:无
*/
Student(int number,String name) {
this.number=number;
this.name=name;
System.out.println("我的名字是:" +name+ "学号是:"+number);
}
}
class UniverStudent extends Student {
String 婚否;
/*
TODO:本地变量赋值并打印
使用super调用父类构造方法,将形参传入,然后将b赋给本地变量,并打印输出
参数说明:number,name,b,分别为学号、姓名、婚否状态
返回值说明:无
*/
UniverStudent(int number,String name,String b) {
super(number,name);
婚否=b;
System.out.println("婚否="+b);
}
}
public class Example5_8 {
public static void main(String args[]) {
System.out.println("请输入姓名:");
Scanner scanner = new Scanner(System.in);
String next = scanner.next();
System.out.println("请输入年龄:");
int nextInt =scanner.nextInt();
System.out.println("请输入婚否:");
String next1 = scanner.next();
//TODO:初始化UniverStudent对象
UniverStudent stud= new UniverStudent(nextInt,next,next1);
}
}
import java.util.Scanner;
class A {
final double PI=3.1415926;// PI是常量
/*
TODO:求圆面积
功能描述:根据计算圆面积的公式,编写代码,求出圆的面积
参数说明:r为半径
返回值说明:圆面积
*/
public double getArea(final double r) {
return PI*r*r;
}
}
public class Example5_9 {
public static void main(String args[]) {
A a=new A();
System.out.println("请输入圆半径:");
Scanner scanner = new Scanner(System.in);
System.out.println("面积:"+a.getArea(scanner.nextDouble()));
}
}
import java.util.Scanner;
class Anthropoid {
void crySpeak(String s) {
System.out.println(s);
}
}
class People extends Anthropoid {
void computer(int a,int b) {
//TODO:计算a与b的乘积,然后打印输出该值
System.out.println(a*b);
}
void crySpeak(String s) {
System.out.println("***"+s+"***");
}
}
public class Example5_10 {
public static void main(String args[]) {
Anthropoid monkey;
People geng = new People();
monkey = geng ; //monkey是People对象geng的上转型对象
System.out.println("请输入字符串 ");
Scanner scanner = new Scanner(System.in);
monkey.crySpeak(scanner.next());
//TODO:把上转型对象强制转化为子类的对象 将monkey转化为People
People people=(People)monkey;
System.out.println("请输入两个数字:");
people.computer(scanner.nextInt(),scanner.nextInt());
}
}
import java.util.Scanner;
class animal {
void cry(String call) {
}
}
class dog extends animal {
void cry(String call) {
System.out.println(call);
}
}
class cat extends animal {
void cry(String call) {
System.out.println(call);
}
}
public class Example5_11{
public static void main(String args[]) {
animal animal;
animal = new dog();
System.out.println("请输入狗叫:");
Scanner scanner = new Scanner(System.in);
/*
TODO:多态实现 使用animal调用cry方法
方法参数为键盘输入的内容
*/
animal.cry(scanner.next());
animal=new cat();
System.out.println("请输入猫叫:");
/*
TODO:多态实现 使用animal调用cry方法
方法参数为键盘输入的内容
*/
animal.cry(scanner.next());
}
}
import java.util.Scanner;
abstract class GirlFriend {
abstract void speak(Scanner scanner);
abstract void cooking(Scanner scanner);
}
class ChinaGirlFriend extends GirlFriend {
void speak(Scanner scanner){
System.out.println("请输入中国女孩说的话:");
System.out.println(scanner.next());
}
void cooking(Scanner scanner){
System.out.println("请输入中国女孩做的饭:");
System.out.println(scanner.next());
}
}
class AmericanGirlFriend extends GirlFriend {
void speak(Scanner scanner){
System.out.println("请输入美国女孩说的话:");
System.out.println(scanner.next());
}
void cooking(Scanner scanner){
System.out.println("请输入美国女孩做的饭:");
System.out.println(scanner.next());
}
}
class Boy {
GirlFriend friend;
Scanner scanner = new Scanner(System.in);
void setGirlfriend(GirlFriend f){
friend = f;
}
void showGirlFriend() {
friend.speak(scanner);
friend.cooking(scanner);
}
}
public class Example5_12 {
public static void main(String args[]) {
GirlFriend girl = new ChinaGirlFriend(); //girl是上转型对象
Boy boy = new Boy();
//TODO:boy调用setGirlfriend、showGirlFriend两个方法
boy.setGirlfriend(girl);
boy.showGirlFriend();
girl = new AmericanGirlFriend(); //girl是上转型对象
//TODO:boy调用setGirlfriend、showGirlFriend两个方法
boy.setGirlfriend(girl);
boy.showGirlFriend();
}
}
import java.util.Scanner;
abstract class SIM {
public abstract void setNumber(String n);
public abstract String giveNumber();
public abstract String giveCorpName();
}
class SIMOfChinaMobile extends SIM {
String number;
public void setNumber(String n) {
number = n;
}
public String giveNumber() {
return number;
}
public String giveCorpName() {
return "中国移动";
}
}
class SIMOfChinaUnicom extends SIM {
String number;
public void setNumber(String n) {
number = n;
}
public String giveNumber() {
return number;
}
public String giveCorpName() {
return "联通";
}
}
class MobileTelephone {
SIM card;
public void useSIM(SIM card) {
this.card=card;
}
public void showMess() {
/*
TODO:打印输出卡号提供者和手机号码,即调用card的giveCorpName、giveNumber方法
输出格式为:
System.out.println("使用的卡是:"+ 提供者 +"提供的");
System.out.println("手机号码是:"+ 手机号码);
*/
System.out.println("使用的卡是:"+ card.giveCorpName() +"提供的");
System.out.println("手机号码是:"+ card.giveNumber());
}
}
public class Example5_13 {
public static void main(String args[]) {
MobileTelephone telephone = new MobileTelephone ();
SIM sim=new SIMOfChinaMobile();
Scanner scanner = new Scanner(System.in);
System.out.println("请输入移动卡手机号:");
/*
TODO:将输入的移动手机号设置为sim的number
然后手机使用这个sim
*/
sim.setNumber(scanner.next());
telephone.useSIM(sim);
telephone.showMess();
sim=new SIMOfChinaUnicom();
System.out.println("请输入联通手机号:");
/*
TODO:将输入的联通手机号设置为sim的number
然后手机使用这个sim
*/
sim.setNumber(scanner.next());
telephone.useSIM(sim);
telephone.showMess();
}
}
文章转载请注明本人博客地址:
转载自:Codewalking - 【Java】Java学习笔记(4)——Java继承作业函数题