《Java程序设计》实验1

6-1 设计Student类

分数 10

全屏浏览题目

切换布局

作者 刘凤良

单位 天津仁爱学院

定义一个Student类,表示学生信息。Student类有学号(id,整型)、姓名(name,字符串)、性别(sex,字符型,m表示男性,f表示女性)三个私有数据域;有参构造方法将学号、姓名、性别设置为给定的参数;成员方法display显示学生的信息。
注意,Student类的定义应该这样开始:
class Student {
也就是说,Student类的class前面不要有public。

输入

输入学号、姓名、性别。

输出

输出学号、姓名、性别。

裁判测试程序样例:

 
 

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int id = in.nextInt(); String name = in.next(); char sex = in.next().charAt(0); Student student = new Student(id, name, sex); student.display(); in.close(); } } // 需要同学们完成部分,Student类 class Student { // 数据成员 // 成员方法 }

输入样例:

1000
Tan
m

输出样例:

1000
Tan
m

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

{
	private int id;
	private String name;
	private char sex;
	Student(int id,String name,char sex)
	{
		this.id = id;
		this.name = name;
		this.sex = sex;
	}
	public void display()
	{
		System.out.println(id+"\n"+name+"\n"+sex);
	}
}

6-2 分数类

分数 15

全屏浏览题目

作者 Ma

单位 山东科技大学

编写一个分数类Fraction,该类包含两个int型参数表示分子与分母。

同时,该类包含如下方法:

(1)Fraction plus(Fraction r)
表示将自己的分数和r的分数相加,产生一个新的Fraction的对象。

(2)void print()
表示将其按照“分子/分母”的形式输出。注意:若存在可以化简的情况需要化简后输出,即2/4应该被化简为1/2再输出,若结果为1/1,则输出1。

注意:暂不考虑分母为0的情况。

裁判测试程序样例:

 
 

import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); Fraction a = new Fraction(in.nextInt(), in.nextInt()); Fraction b = new Fraction(in.nextInt(),in.nextInt()); a.print(); b.print(); a.plus(b).print(); a.print(); b.print(); in.close(); } } /* 请在这里填写答案 */

输入样例:

2 4 1 3

输出样例:

1/2
1/3
5/6
1/2
1/3

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

class Fraction
{
	private int a;
	private int b;
	Fraction(int a,int b)
	{
		this.a = a;
		this.b = b;
	}
	private int gcd(int a,int b)
	{
		return b==0?a:gcd(b,a%b);
	}
	public Fraction plus(Fraction r)
	{
		int up = this.a*r.b+this.b*r.a;
		int down = this.b*r.b;
		Fraction f = new Fraction(up,down);
		return f;
	}
	public void print()
	{
		int c = gcd(a,b);
		System.out.println(a/c+"/"+b/c);
		//java不允许在方法内部定义新的方法
	}
}

7-1 sdut-sel-4 计算工资数

分数 15

全屏浏览题目

切换布局

作者 周雪芹

单位 山东理工大学

某公司标准上班时间是120小时,每小时工钱是20元, 如果上班时间超出了120小时,超出部分每小时按2倍工资发放。请编写程序计算员工月工资。

输入格式:

输入一个员工的工作小时数。

输出格式:

输出这个员工的工资数。如果输入的工作小时数<=0,则输出0。

输入样例1:

40

输出样例1:

800

输入样例2:

200

输出样例2:

5600

输入样例3:

-30

输出样例3

0

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

import java.util.Scanner;

public class Main
{
	public static void main(String[] args)
	{
		Scanner in = new Scanner(System.in);
		while(in.hasNext())
		{
			int hour = in.nextInt();
			if(hour<=0)
				System.out.println(0);
			else if(hour<=120)
				System.out.println(hour*20);
			else
				System.out.println(120*20+(hour-120)*40);
		}
	}
}

7-2 电话键盘字母数字转换

分数 20

全屏浏览题目

作者 段喜龙

单位 南昌航空大学

国际标准中电话键盘上字母和数字之间的对应关系如下图所示。

编写一个程序,从键盘读入一个输入的字母,将其转换成所对应的数字。

输入格式:

从键盘输入一个字符,取值范围为“a~z”或“A~Z”,当输入多个连续字符时,取第一个字符。

输出格式:

(1)若输入数据合法,输出其所对应的数字,范围为2~9;
(2)若输入数据非法,则输出所输入字符+“ is an invalid input”

输入样例1:

在这里给出一组输入。例如:

M

输出样例1:

在这里给出相应的输出。例如:

6

输入样例2:

在这里给出一组输入。例如:

t

输出样例2:

在这里给出相应的输出。例如:

8

输入样例3:

在这里给出一组输入。例如:

0

输出样例3:

在这里给出相应的输出。例如:

0 is an invalid input

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

import java.util.Scanner;

public class Main
{
 	public static void main(String[] args)
 	{
 		Scanner in = new Scanner(System.in);
 		while(in.hasNext())
 		{
 			char a = in.next().charAt(0);
 			a = Character.toUpperCase(a);
 			if(!Character.isLetter(a))
 			{
 				System.out.println("is an invalid input");
 			}
 			if(a>='A'&&a<='C')
 				System.out.println(2);
 			if(a>='D'&&a<='F')
 				System.out.println(3);
 			if(a>='G'&&a<='I')
 				System.out.println(4);
 			if(a>='J'&&a<='L')
 				System.out.println(5);
 			if(a>='M'&&a<='O')
 				System.out.println(6);
 			if(a>='P'&&a<='S')
 				System.out.println(7);
 			if(a>='T'&&a<='V')
 				System.out.println(8);
 			if(a>='W'&&a<='Z')
 				System.out.println(9);
 		}
 		in.close();
 	}
}

7-3 计算公约数和公倍数

分数 20

全屏浏览题目

作者 马俊

单位 兰州大学

输入两个正整数m和n(2<=m和n<=100000),计算它们的最大公约数和最小公倍数并输出。

输入格式:

在一行中输入两个整数m和n,2<=m<=100000,2<=n<=100000

输出格式:

最大公约数x
最小公倍数y

输入样例:

在这里给出一组输入。例如:

36 946

输出样例:

在这里给出相应的输出。例如:

最大公约数2
最小公倍数17028

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

import java.util.Scanner;

public class Main
{
	private static long gcd(long a,long b)
	{
		return b==0?a:gcd(b,a%b);
	}
	private static long lcm(long a,long b)
	{
		return a*b/gcd(a,b);
	}

 	public static void main(String[] args)
 	{
 		Scanner in = new Scanner(System.in);
 		long m = in.nextInt();
 		long n = in.nextInt();
 		System.out.println("最大公约数"+gcd(m,n));
 		System.out.println("最小公倍数"+lcm(m,n));
 	}
}

7-4 设计一个矩形类Rectangle

分数 20

全屏浏览题目

切换布局

作者 吴光生

单位 新余学院

编写一个Java应用程序,该程序包含两个类,类的定义如下:

(1) 一个有关计算矩形面积的类Rectangle,定义如下成员:
① 两个私有的成员变量:length(长,double类型)、width(宽,double类型);
② 一个公有的无参数的构造方法,该构造方法将所有成员变量初始化为零;
③ 一个公有的有参数的方法void setXY(double a, double b),该方法用于设置矩形的属性length与width;
④ 一个公有的无参数的方法double getArea( ),该方法计算并返回矩形的面积;
⑤一个公有的无参数的方法double getPerimeter( ),该方法计算并返回矩形的周长;

(2) 一个测试类Main,在main方法中声明1个Rectangle类的对象rect,通过setXY方法给rect的属性length和width进行赋值(从键盘输入),通过getArea方法来计算rect的面积,通过getPerimeter方法来计算rect的周长,然后输出其面积与周长。

输入格式:

输入两个数,作为矩形的长、宽。

输出格式:

第一行输出矩形的面积。
第二行输出矩形的周长。

输入样例:

3.5  2

输出样例:

面积为7.0
周长为11.0

代码长度限制

16 KB

时间限制

400 ms

内存限制

64 MB

import java.util.Scanner;

class Rectangle
{
	private double len;
	private double width;
	public Rectangle()
	{
		len = 0;
		width = 0;
	}
	public void setXY(double a,double b)
	{
		this.len = a;
		this.width = b;
	}
	public double getArea()
	{
		return len*width;
	}
	public double getPerimeter()
	{
		return 2*(len+width);
	}
}
public class Main
{
 	public static void main(String[] args)
 	{
 		Scanner in = new Scanner(System.in);
 		Rectangle rect = new Rectangle();
 		rect.setXY(in.nextDouble(), in.nextDouble());
 		System.out.println("面积为"+rect.getArea());
 		System.out.println("周长为"+rect.getPerimeter());
 	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值