JAVA题,编程题,求大神解答!
1.阅读如下图发现其中规律,请你输出一个符合下图规律的图形,该图形的行数由屏幕输入,例如你输阅读如下图发现其中规律,请你输出一个符合下图规律的图形,该图形的行数由屏幕输入...
1.阅读如下图发现其中规律,请你输出一个符合下图规律的图形,该图形的行数由屏幕输入,例如你输阅读如下图发现其中规律,请你输出一个符合下图规律的图形,该图形的行数由屏幕输入,例如你输入的是1就得到只有一行的图形,你输入的是10,就得到10行的图形。入的是1就得到只有一行的图形,你输入的是10,就得到10行的图形。
1
1 1
1 2 1
1 2 2 1
2.请你为老师设计一个类,类的成员变量至少包括编号、姓名、年龄、发表论文数,依据该类创建5个实例代表5名老师,直接为所有老师的成员变量赋任意初值,程序自己找出发表论文最多和最少的两名老师,并输出这两名老师的姓名及其论文相差的篇数。
!!!求大神解答!!! 展开
1
1 1
1 2 1
1 2 2 1
2.请你为老师设计一个类,类的成员变量至少包括编号、姓名、年龄、发表论文数,依据该类创建5个实例代表5名老师,直接为所有老师的成员变量赋任意初值,程序自己找出发表论文最多和最少的两名老师,并输出这两名老师的姓名及其论文相差的篇数。
!!!求大神解答!!! 展开
1个回答
展开全部
1.
import java.util.Scanner;
/**
* 2015年11月22日下午1:20:58
*
* @author cs12110 TODO 打印数字图形
*
*/
public class NumShape {
private static Scanner input = new Scanner(System.in);// 控制台输入对象
/**
* 打印数字图形
*
* @param line
* 打印行数
*/
public static void shape(int line) {
for (int index = 1; index <= line; index++) {// 控制行数
System.out.println();// 换行输出
for (int space = 0; space < line - index; space++) {// 控制打印第一个数字前的空格
System.out.print(" ");
}
for (int j = 1; j <= index; j++) {
if (j == 1 || j == index) {// 第一个或最后一个打印1
System.out.print(1 + " ");
} else {// 否则打印2
System.out.print(2 + " ");
}
}
}
}
public static void main(String[] args) {
int line = -1;// 控制台输入行数
do {
System.out.print("Please input line(>=1): ");
line = input.nextInt();
} while (line < 1);// 行数应该大于等于1
shape(line);
}
}
public class Teacher {
int teacherNo;// 编号
String teacherName;// 姓名
int age;// 年龄
int paper;// 论文数
public Teacher() {
super();
// TODO Auto-generated constructor stub
}
public Teacher(int teacherNo, String teacherName, int age, int paper) {
super();
this.teacherNo = teacherNo;
this.teacherName = teacherName;
this.age = age;
this.paper = paper;
}
public String toString() {
return "NO: " + this.teacherNo + " Name: " + this.teacherName + " Age: " + this.age + " Paper: " + this.paper;
}
}
/**
* 2015年11月22日下午1:41:49
*
* @author hp TODO 测试老师
*
*/
public class TestTeacher {
/**
* 显示所有老师的资料
*
* @param teas
*/
public static void display(Teacher[] teas) {
for (int index = 0; null != teas && index < teas.length; index++) {
System.out.println(teas[index]);
}
}
/**
* 获取随机整数
*
* @param startNum
* 最小随机整数
* @param endNum
* 最大随机整数
* @return
*/
public static int getRandomNum(int startNum, int endNum) {
return (int) (Math.random() * (endNum - startNum + 1) + startNum);
}
/**
* 初始化教师资料
*
* @param tea
* 教师
*/
public static void init(Teacher tea, int teaNo, String teaName) {
int age = getRandomNum(20, 30);// 年龄在[20,30]
int paper = getRandomNum(1, 10);
tea.age = age;
tea.paper = paper;
tea.teacherNo = teaNo;
tea.teacherName = teaName;
}
/**
* 找出最多,最少论文老师
*
* @param teas
*/
public static void operation(Teacher[] teas) {
Teacher max = new Teacher();
Teacher min = new Teacher();
for (int index = 0; null != teas && index < teas.length; index++) {
if (0 == index) {
max = teas[index];
min = teas[index];
} else {
if (teas[index].paper > max.paper) {
max = teas[index];
}
if (teas[index].paper < min.paper) {
min = teas[index];
}
}
}
System.out.println();
System.out.println(max);
System.out.println(min);
System.out.println("相差: " + (max.paper - min.paper) + " 论文");
}
public static void main(String[] args) {
Teacher[] teas = new Teacher[5];
for (int index = 0; null != teas && index < teas.length; index++) {
teas[index] = new Teacher();
init(teas[index], index, "tea" + index);
}
display(teas);
operation(teas);
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询