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()); } }