课件链接(点击下载)
源程序下载链接(点击下载)
- 已知a,b均是整形变量,写出将a,b两个变量中的值互换的程序。
(变量和运算符综合应用)
public static void main(String[] args) {
int a = 1;
int b = 2;
System.out.println("交换前:");
System.out.println("a="+a);
System.out.println("b="+b);
a = a ^ b;
b = a ^ b;
a = a ^ b;
System.out.println("交换后:");
System.out.println("a="+a);
System.out.println("b="+b);
}
- 给定一个0~1000的整数,求各位数的和,例如345结果是3+4+5=12。
(变量和运算符综合应用)
public static void main(String[] args) {
System.out.println("请输入一个1~1000的整数:");
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b, c, d, e, sum;
e = a / 1000;
b = a / 100 % 10;
c = a / 10 % 10;
d = a % 10;
sum = b + c + d + e;
System.out.println("结果为:" + sum);
}
- 摄氏温度转成华氏温度
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
int a = 0;//接收选择
float x;//存温度
System.out.println("请选择操作:\n1.华氏温度->摄氏温度\n2.摄氏温度->华氏温度");
a = sc.nextInt();
while (a != 1 && a != 2) {
//让用户只选择1或2
System.out.println("请选择操作:\n1.华氏温度->摄氏温度\n2.摄氏温度->华氏温度");
a =sc.nextInt();
}
//循环,用户继续转换吗?
out:
while (true) {
switch (a) {
case 1: {
System.out.println("请输入华氏温度 ");
x = sc.nextFloat();
System.out.println(x + "'F = " + (x - 32) * 5 / 9 + "'C");
System.out.println("继续转换吗?\n0.退出\n1.继续");
a = sc.nextInt();
//让用户只选择1或0
while (a != 1 && a != 0) {
System.out.println("0.退出\n1.继续");
a = sc.nextInt();
}
if (a == 0) {
//a=0,用户要退出
break out;
} else {
//继续选择转换操作
System.out.println("请选择操作:\n1.华氏温度->摄氏温度\n2.摄氏温度->华氏温度");
a = sc.nextInt();
while (a != 1 && a != 2) {
//让用户只选择1或2
System.out.println("请选择操作:\n1.华氏温度->摄氏温度\n2.摄氏温度->华氏温度");
a = sc.nextInt();
}
break;
}
}
case 2: {
System.out.println("请输入摄氏度 ");
x = sc.nextFloat();
System.out.println(x + "'C = " + (x * 9 / 5 + 32) + "'F");
System.out.println("继续转换吗?\n0.退出\n1.继续");
a = sc.nextInt();
while (a != 1 && a != 0) {
//让用户只选择1或0
System.out.println("0.退出\n1.继续");
a = sc.nextInt();
}
if (a == 0) {
//a=0,用户要退出
break out;
} else {
//继续选择转换操作
System.out.println("请选择操作:\n1.华氏温度->摄氏温度\n2.摄氏温度->华氏温度");
a = sc.nextInt();
while (a != 1 && a != 2) {
//让用户只选择1或2
System.out.println("请选择操作:\n1.华氏温度->摄氏温度\n2.摄氏温度->华氏温度");
a = sc.nextInt();
}
break;
}
}
default:
System.out.println("Error!");
}
}
}
- 给定一个任意的大写字母A~Z,转换小写字母。
public static void main(String[] args) {
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
System.out.println("输入大写字母:");
char a = sc.next().charAt(0);
while (a <'A'|| a > 'Z'){
System.out.print("输入错误,请重新输入:");
a =sc.next().charAt(0);
}
a = (char) (a + 32);
System.out.println("小写字母:" + a);
}
- 企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
public static void main(String[] args) {
System.out.println("请输入利润:");
Scanner sc = new Scanner(System.in);
int profit=(sc.nextInt())/10000;
salary(profit);
}
public static void salary(int profit){
double sum=0;
if(profit<=10){
sum=profit*0.1;
}
else if(profit<=20){
sum=10*0.1+(profit-10)*0.075;
}
else if(profit<=40){
sum=10*0.1+10*0.075+(profit-20)*0.05;
}
else if(profit<60){
sum=10*0.1+10*0.075+20*0.05+(profit-40)*0.03;
}
else if(profit<100){
sum=10*0.1+10*0.075+20*0.05+40*0.03+(profit-60)*0.015;
}
else{
sum=10*0.1+10*0.075+20*0.05+40*0.03+40*0.015+(profit-100)*0.01;
}
System.out.println("可以获得的奖金总数是:"+sum*10000);
}
- 给定一个成绩a,使用switch结构求出a的等级。A:90-100,B:80-89,C:70-79,D:60-69,E:0-59。
public static void main(String[] args) {
int a;
@SuppressWarnings("resource")
Scanner sc =new Scanner(System.in);
System.out.println("请输入成绩:");
a=sc.nextInt();
final int n=a/10;
switch(n){
case 10:
case 9:System.out.println("A");
break;
case 8:System.out.println("B");
break;
case 7:System.out.println("C");
break;
case 6:System.out.println("D");
break;
default:System.out.println("E");
}
}
- 假设某员工今年的年薪是30000元,年薪的年增长率6%。编写一个Java应用程序计算该员工10年后的年薪,并统计未来10年(从今年算起)总收入。
public static void main(String[] args) {
int salary = 30000;
int sum =30000;
for(int i = 1;i <= 10;i++){
salary *= 1.06;
sum = sum + salary;
System.out.println("第"+(i+1)+"年工资:\t"+salary);
}
System.out.println("\n");
System.out.println("预计未来十年工资总和:"+sum);
}
- 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,
第二天早上又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃前一天剩下的一半零一个。
到第10天早上想再吃时,见只剩下一个桃子了。求第一天共摘多少个桃子?
public static void main(String[] args) {
int a = 1;
int i = 1;
while (i < 10){
a = 2 * (a + 1);
i++;
}
System.out.println(a);
}
- 判断是一个奇数还是偶数。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要判断的数字:");
int a = sc.nextInt();
if(a%2==0){
System.out.println("为偶数");
}else{
System.out.println("为奇数");
}
}
- 编写程序, 判断一个变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出x=10,除了以上的值,都输出x=none。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要判断的数字:");
int x = sc.nextInt();
if(x==1){
System.out.println("x="+x);
}
else if(x==5){
System.out.println("x="+x);
}
else if(x==10){
System.out.println("x="+x);
}
else{
System.out.println("x=none");
}
}
- 判断一个数字是否能被5和6同时整除(打印能被5和6整除),或只能被5整除(打印能被5整除),或只能被6整除,(打印能被6整除),不能被5或6整除,(打印不能被5或6整除)。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入需要判断的数字:");
int x = sc.nextInt();
if(x%5==0 & x%6==0){
System.out.println("能被5和6整除");
}
else if(x%5==0){
System.out.println("能被5整除");
}
else if(x%6==0){
System.out.println("能被6整除");
}
else{
System.out.println("不能被5或6整除");
}
}
- 判断这个年份是否为闰年。
public static void main(String[] args) {
System.out.println("请输入年份:");
Scanner sc = new Scanner(System.in);
int year = sc.nextInt();
if(year%4==0 && year%100!=0 || year%400==0) {
System.out.println("闰年");
}else {
System.out.println("非闰年");
}
}
- 输入一个0-100的分数,如果不是0-100之间,打印成绩无效,根据成绩等级打印ABCDE。
public static void main(String[] args) {
int score;
@SuppressWarnings("resource")
Scanner sc =new Scanner(System.in);
System.out.println("请输入成绩:");
score=sc.nextInt();
if(score>=0 & score<=100){
int n=score/10;
if(n==10 | n ==9){
System.out.println("A");
}
else if(n == 8){
System.out.println("B");
}
else if(n == 7){
System.out.println("C");
}
else if(n == 6){
System.out.println("D");
}
else {
System.out.println("E");
}
}else{
System.out.println("分数无效!");
}
}
- 输入三个整数x,y,z,请把这三个数用小到大输出。
public static void main(String[] args) {
System.out.println("请输入几个数并用逗号隔开:");
@SuppressWarnings("resource")
Scanner sc = new Scanner(System.in);
String str = sc.next().toString();
String[] arr = str.split(",");
int[] b = new int[arr.length];
for(int j = 0;j < b.length; j++) {
b[j] = Integer.parseInt(arr[j]);
}
for(int i=0;i<arr.length-1;i++){
for(int j=0;j<arr.length-1-i;j++){
if(b[j]>b[j+1]){
b[j]=b[j]^b[j+1];
b[j+1]=b[j]^b[j+1];
b[j]=b[j]^b[j+1];
}}}
System.out.println("排序后:");
for(int i : b){
System.out.print(i+"\t");
}
}
- 有一个不多于5位的正整数,求它是几位数,分别大一一年出每一位数字。
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个不大于五位的正整数:");
int num = sc.nextInt();
int len = 0;
int [] strArry = new int[5];
int i=0;
while(num%10!=0) {
len++;
strArry[i]=num%10;
i++;
num = num/10;
}
System.out.println("该数长度:"+len);
for(int j=0;j<len;j++) {
System.out.println("第"+(j+1)+"位:"+strArry[j]);
}
}
- 编写一个程序,计算邮局汇款的汇费。如果汇款金额小于100元,汇费为一元,如果金额在100元与5000元之间,按1%收取汇费,如果金额大于5000元,汇费为50元。汇款金额由命令行输入。
public static void main(String[] args) {
System.out.println("请输入汇款金额:");
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
if(a<100 & a>0){
System.out.println("汇费:"+(a+1));
}else if(a>=100 & a<=5000){
System.out.println("汇费:"+(a*1.01));
}else if(a>5000){
System.out.println("汇费:"+(a+50));
}else{
System.out.println("请输入正确汇款金额!");
}
}
- 分别使用for,while,do循环求1-100之间所有被3整除的整数的和。
public static void main(String[] args) {
int ia;
int ib = 0;
int ic = 0;
int sum1 = 0;
int sum2 = 0;
int sum3 = 0;
for(ia = 0;ia <= 100;ia++){
if(ia % 3 == 0){
sum1 += ia;
}
}
System.out.println("for算法一百内3整除的和:"+sum1);
while(ib<=100){
if(ib%3==0){
sum2 += ib;
}
ib++;
}
System.out.println("while算法一百内3整除的和:"+sum2);
do{
if(ic % 3 == 0){
sum3 += ic;
}
ic++;
}while(ic <= 100);
System.out.println("do算法一百内3整除的和:"+sum3);
}
- 输入0-9之间的数,但不包括5。
public static void main(String[] args) {
for(int i = 0;i <= 10;i++){
if(i != 5){
System.out.println(i);
}
}
}
- 求整数n的阶乘。
public static void main(String[] args) {
int a;
@SuppressWarnings("resource")
Scanner sc =new Scanner(System.in);
System.out.println("阶乘位数:");
a=sc.nextInt();
getFactorial(a);
}
public static int getFactorial(int a){
int b = 1;
int i = 1;
for(;i <= a;i++){
b *= i;
}
System.out.println((i-1)+"位阶乘值位"+b);
return b;
}
- 找出大于200的最小质数。
public static void main(String[] args) {
for(int i=201; ; i++){
boolean flag = true;
for(int j = 2;j<i;j++){
if(i%j==0){
flag = false;
break;
}
}
if(flag){
System.out.println(i);
break;
}
}
}
- 由命令行输入一个4位整数,求将该数反转以后的数,如原数为1234,反转后为4321。
public static void main(String[] args) {
System.out.println("请输入一个4位的正整数:");
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int len = 0;
int [] strArry = new int[4];
int i=0;
while(num%10!=0) {
len++;
strArry[i]=num%10;
i++;
num = num/10;
}
System.out.println("反转后");
for(int j=0;j<len;j++) {
System.out.print(strArry[j]);
}
}
- 编写简单程序,要求数组长度为5,分别符值10,20,30,40,50,在控制台输出该数组的值。
public static void main(String[] args) {
int[] a = new int[5];
for (int i = 0; i <= 4; i++) {
a[i] = 10 * (i + 1);
}
for (int b = 0; b < a.length; b++) {
System.out.print(a[b] + "\t");
}
}
- 将一个字符数组的值(neusofteducation)拷贝到另一个字符数组中。
public static void main(String[] args) {
char[] a = { 'n', 'e', 'u', 's', 'o', 'f', 't', 'e', 'd', 'u', 'c', 'a', 't', 'i', 'o', 'n' };
char[] b = new char[a.length];
System.arraycopy(a, 0, b, 0, a.length);
System.out.println(b);
}
- 给定一个有9个整数(1,6,2,3,9,4,5,7,8)的数组,先排序,然后输出排序后的数组的值。
(Arrays.sort排序,冒泡排序)
public static void main(String[] args) {
int[] arr = { 1, 6, 2, 3, 9, 4, 5, 7, 8 };
int[] arr2 = { 1, 6, 2, 3, 9, 4, 5, 7, 8 };
for (int i = 0; i < arr.length - 1; i++) {
for (int j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j + 1];
arr[j + 1] = arr[j];
arr[j] = temp;
}
}
}
for (int i : arr) {
System.out.print(i + "\t");
}
System.out.println("\n");
Arrays.sort(arr2);
for (int i : arr2) {
System.out.print(i + "\t");
}
}
- 有两个多维数组分别是{2,3,4;4,6,8;}和{1,5,2,8;5,9,10,-3;2,6,-5,-18;}按照如下方式进行运算。生成一个2行4列的数组。
此数组的第一行第一列是21+35+42,第一行第二列是25+39+47,第二行第一列是41+65+8*2,以此类推。
public static void main(String[] args) {
int x = 0;
int sum = 0;
int a[][] = { { 2, 3, 4 }, { 4, 6, 8 } };
int b[][] = { { 1, 5, 2, 8 }, { 5, 9, -10, -3 }, { 2, 7, -5, 18 } };
int c[][] = new int[2][4];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 4; j++) {
while (x < 3) {
sum += a[i][x] * b[x][j];
x++;
}
c[i][j] = sum;
System.out.print(c[i][j] + "\t");
sum = 0;
x = 0;
}
System.out.println("\n");
}
}
- 输出一个double型二维数组(长度分别为5/4,值自己设定)的值。
public static void main(String[] args) {
double[][] arr1;
arr1 = new double[5][4];
for (int i = 0; i < arr1.length; i++) {
for (int j = 0; j < arr1[i].length; j++) {
arr1[i][j] = 250;
System.out.print(arr1[i][j] + " ");
}
System.out.println("\n");
}
}
- 在一个有8个整数(18,25,7,36,13,2,89,63)的数组中找出其中最大的数及其下表。
public static void main(String[] args) {
int[] arr = new int[] {18,25,7,36,13,2,89,63};
int max=arr[0];
int b =0 ;
for(int i=0;i<arr.length;i++) {
if(max<arr[i]) {
max=arr[i];
b=i;
}
}
System.out.println("下角标为:"+b);
System.out.println("最大数为:"+max);
}
- 将一个数组中的元素逆序存放。
public static void main(String[] args) {
int[] a = { 1, 6, 3, 9, 6, 5, 7, 8 };
System.out.println("请遍历数组:");
for (int i : a) {
System.out.print(i + "\t");
}
int temp;
for (int i = 0; i < a.length / 2; i++) {
temp = a[i];
a[i] = a[a.length - i - 1];
a[a.length - i - 1] = temp;
}
System.out.println("\n逆序后的数组为:");
for (int i : a) {
System.out.print(i + "\t");
}
}
- 将一个数组中重复元素保留一个其他的清零。
public static void main(String[] args) {
int[] a = { 1, 6, 6, 3, 9, 6, 5, 7, 8 };
System.out.println("数组a:");
for (int i : a) {
System.out.print(i + "\t");
}
System.out.println("\n");
List<Integer> list = new ArrayList<Integer>();
for (int i : a) {
if (!list.contains(i)) {// 如果列表包含指定的元素,则返回 true
list.add(i);
}
}
for (int i : list) {
System.out.print(i + "\t");
}
}
- 给定一维数组{-10,2,3,246,-100,0,5},计算出数组中的平均,最大,最小值。
public static void main(String[] args) {
int[] data = new int[] { -10, 2, 3, 246, -100, 0, 5 };
int max = data[0]; // 假设第一个数为最大值
int min = data[0]; // 假设第一个数为最小值
int sum = data[0];
for (int i = 1; i < data.length; i++) {
if (data[i] > max) {
max = data[i];
}
if (data[i] < min) {
min = data[i];
}
sum += data[i];
}
System.out.println("最大值为:" + max);
System.out.println("最小值为:" + min);
System.out.println("平均值为:" + (double) sum / data.length);
}
- 统计一个字符串中中英文字符,数字,其他字符出现的次数。
public static void main(String[] args) {
String str = "adbs13我爱东软,.!";
Homework00001 countCharacter = new Homework00001();
countCharacter.count(str);
}
int chCharacter = 0;
int enCharacter = 0;
int numberCharacter = 0;
int otherCharacter = 0;
void count(String str) {
if (null == str || str.equals("")) {
System.out.println("字符串为空");
return;
}
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if ((c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z')) {
enCharacter++;
} else if ((c >= '0') && (c <= '9')) {
numberCharacter++;
} else if (isChinese(c)) {
chCharacter++;
} else {
otherCharacter++;
}
}
System.out.println("字符串:" + str + "");
System.out.println("中文字符有:" + chCharacter);
System.out.println("英文字符有:" + enCharacter);
System.out.println("数字有:" + numberCharacter);
System.out.println("其他字符有:" + otherCharacter);
}
public boolean isChinese(char ch) {
Character.UnicodeBlock a = Character.UnicodeBlock.of(ch);
if (a == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| a == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| a == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| a == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_B) {
return true;
}
return false;
}
- 某一个子字符串在字符串中出现的次数。
public static void main(String[] args) {
String str;
char ch;
int charNum=0;
System.out.println("请输入字符串:");
@SuppressWarnings("resource")
Scanner sc=new Scanner(System.in);
str=sc.next();
System.out.println("请输入目标:");
ch=sc.next().charAt(0);
String strch=String.valueOf(ch);
for(int i=0;i<str.length();i++)
{
if(strch.equals(str.substring(i, i+1)))
charNum++;
}
System.out.println("目标:"+strch+"\t共计次数:"+charNum);
}
- 统计一个字符串中英文字符、数字、其它字符各自出现的次数。
public static void main(String[] args) {
//统计一个字符串中英文字符、数字、其它字符各自出现的次数
int e = 0;
int n = 0;
int o = 0;
String s = "sdghhjg111fjhjkh6666cfghfvghfgjfg9054";
char[] a = s.toCharArray();
for(char b:a){
if(b>=65&&b<=90 || b>=97&&b<=122){
e++;
}else if(b>=48 && b<=57){
n++;
}else{
o++;
}
}
String s = "aasssddddaaggggaakkhgaa";
String ss = "aa";
int index = 0;
int n = 0;
int fromIndex = 0;
while((index = s.indexOf(ss,fromIndex)) != -1){
n++;
fromIndex = index+ss.length();
}
System.out.println(n);
- 定义一个点类Point,包含2个成员变量x,y分别标示x坐标,y坐标,两个构造器Point()和Point(int x0,int y0),以及一个movePoint(int dx,int dy)方法实现点的位置移动,创建两个Point对象p1,p2,分别调用movePoint方法后,打印p1和p2的坐标。
public static void main(String[] args) {
Point p1=new Point();
p1.x=10;
p1.y=5;
p1.movePoint(p1.x,p1.y);
System.out.println("X1:" + p1.x +"\t"+ "Y1:" + p1.y);
Point p2=new Point();
p2.x=2;
p2.y=1;
p2.movePoint(p2.x,p2.y);
System.out.println("X2:" + p2.x +"\t"+ "Y2:" + p2.y);
}
}
class Point {
int x;
int y;
Point() {}
Point(int x0, int y0) {
x = x0;
y = y0;
}
void movePoint(int dx, int dy) {
x = dx +1;
y = dy +1;
}
- 定义一个矩形类Rectangle:
2.1 定义三个方法:getArea()求面积、getPer()求周长,showAll()分别在控制台输出长、宽、面积、周长。
2.2 有2个属性:长length、宽width
2.3 通过构造方法Rectangle(int width, int length),分别给两个属性赋值
2.4 创建一个Rectangle对象,并输出相关信息
public static void main(String[] args) {
Rectangle a = new Rectangle(2, 5);
a.showAll();
a.getArea();
a.getPer();
}
}
class Rectangle{
int length;
int width;
Rectangle(int width, int length) {
this.width = width;
this.length = length;
}
void showAll() {
System.out.println("长:"+length+"\t"+"宽:"+width);
}
void getArea() {
System.out.println("面积:"+width*length);
}
void getPer() {
System.out.println("周长:"+(width+length)*2);
}
- 定义一个笔记本类,该类有颜色(char)和cpu型号(int)两个属性。 [必做题]
3.1 无参和有参的两个构造方法;有参构造方法可以在创建对象的同时为每个属性赋值;
3.2 输出笔记本信息的方法
3.3 然后编写一个测试类,测试笔记本类的各个方法
public static void main(String[] args) {
Computer test = new Computer('B', 5700);
test.show();
}
}
class Computer {
char color;
int model;
Computer() {
}
Computer(char color, int model) {
this.color = color;
this.model = model;
}
void show() {
System.out.println("颜色:" + color + " 型号:" + model);
}
- 设计一个类Student:
(1)属性包括姓名、学号和成绩
(2)方法,按照成绩从高到低的顺序输出姓名、学号和成绩信息。
public static void main(String[] args) {
Student[] stu = new Student[3];
stu[0] = new Student("张三", 181203601, 89);
stu[1] = new Student("李四",181203602, 65);
stu[2] = new Student("scott",181203603, 77);
Student.sort(stu);
for (Student s : stu) {
s.show();
}
}
}
class Student {
private String name;
private int id;
private int score;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
public Student(String name, int id, int score) {
super();
this.name = name;
this.id = id;
this.score = score;
}
public void show() {
System.out.println("学号:" + id + "\t姓名:" + name + "\t成绩:" + score);
}
public static void sort(Student[] stu) {
Student s;
for (int i = 0; i < stu.length - 1; i++) {
for (int j = 0; j < stu.length - i - 1; j++) {
if (stu[j].score > stu[j + 1].score) {
s = stu[j];
stu[j] = stu[j + 1];
stu[j + 1] = s;
}
}
}
}
- 创建一个员工类,有属性员工编号、员工名称、职位、工资等属性
要求属性私有,提供公有get、set属性访问方法,以及一个为属性
赋值的构造方法
创建两个员工对象,存到HashMap集合中,键是员工的编号,值是员工对象
遍历map集合,打印键值。
public static void main(String[] args) {
Map<Integer,Emp> map = new HashMap<Integer,Emp>();
Emp e1 = new Emp(1, "zhaosi", "董事长", 1);
Emp e2 = new Emp(2, "liuneng", "村副主任", 2);
map.put(e1.getEmpno(), e1);
map.put(e2.getEmpno(), e2);
for(Object o:map.keySet()){
Integer key = (Integer)o;
System.out.println("键是"+key+"值是"+map.get(key));
}
}
//创建一个员工类,有属性员工编号、员工名称、职位、工资等属性
//要求属性私有,提供公有get、set属性访问方法,以及一个为属性
//赋值的构造方法
//创建两个员工对象,存到HashMap集合中,键是员工的编号,值是员工对象
//遍历map集合,打印键值
class Emp{
private int empno;
private String ename;
private String job;
private int sal;
public int getEmpno(){
return this.empno;
}
public void setEmpno(int empno){
this.empno = empno;
}
public String getEname() {
return ename;
}
public void setEname(String ename) {
this.ename = ename;
}
public String getJob() {
return job;
}
public void setJob(String job) {
this.job = job;
}
public int getSal() {
return sal;
}
public void setSal(int sal) {
this.sal = sal;
}
public Emp(int empno,String ename,String job,int sal){
this.empno = empno;
this.ename = ename;
this.job = job;
this.sal = sal;
}
@Override
public String toString() {
return "Emp [empno=" + empno + ", ename=" + ename + ", job=" + job + ", sal=" + sal + "]";
}