第二章习题

本文包含多个Java程序实例,如判断季节、简单计算器、商品竞猜游戏等,通过这些实例帮助理解Java的基本语法和流程控制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.

package page2_63;



public class Demo1 {
/**
* 返回春天

* @return
*/
public String spring() {
return "该季节为春天";
}


/**
* 返回夏天

* @return
*/
public String summer() {
return "该季节为夏天";
}


/**
* 返回秋天

* @return
*/
public String autumn() {
return "该季节为秋天";
}


/**
* 返回冬天

* @return
*/
public String winter() {
return "该季节为冬天";
}

}


package page2_63;


import java.util.Scanner;


public class Test1 {
public static void main(String[] args) {
Demo1 demo1 = new Demo1();         
Scanner input = new Scanner(System.in);
System.out.print("请输入月份:");
int month = input.nextInt();
while (month <= 0 || month > 12) {
System.out.print("输入的月份有误,请重新输入:");
month = input.nextInt();
}
switch (month) {   //选择月份
case 1:
case 2:
case 3:
System.out.println("\n" + demo1.spring());     //春天
break;
case 4:
case 5:
case 6:
System.out.println("\n" + demo1.summer());       //夏天
break;
case 7:
case 8:
case 9:
System.out.println("\n" + demo1.autumn());    //秋天
break;
case 10:
case 11:
case 12:
System.out.println("\n" + demo1.winter());     //冬天
break;
}


}


}



2.

package page2_63;
/**
 * 计算器类
 * @author 
 *
 */
public class Calculator {


double num3;      //得数
int choice;       //选择方式

/**
 *  加法
 * @param num1    第一操作数
 * @param num2    第二操作数
 */
public void add(double num1, double num2) {
num3 = num1 + num2;
}


/**
*  减法
* @param num1    第一操作数
* @param num2    第二操作数
*/
public void minus(double num1, double num2) {
num3 = num1 - num2;


}


/**
*  乘法
* @param num1    第一操作数
* @param num2    第二操作数
*/
public void multiple(double num1, double num2) {
num3 = num1 * num2;


}


/**
*  除法
* @param num1   第一操作数
* @param num2    第二操作数
*/
public void divide(double num1, double num2) {
num3 = num1 / num2;


}
/**
 *    打印得数
 *
 */
public void show() {
System.out.println("结果为:"+num3);
}

}


package page2_63;


import java.util.Scanner;


public class Test2 {
public static void main(String[] args) {
Calculator calculator = new Calculator();
Scanner input = new Scanner(System.in);
System.out.print("请输入第一个操作数:");
double num1 = input.nextDouble();
System.out.print("请输入第二个操作数:");
double num2 = input.nextDouble();
System.out.println("请选择算法(1.加法       2.减法       3.乘法       4.除法)");
int choice = input.nextInt();
switch (choice) {
case 1:
calculator.add(num1, num2);   //调用加法
break;
case 2:
calculator.minus(num1, num2);  //调用减法
break;
case 3:
calculator.multiple(num1, num2);   //调用乘法
break;
case 4:
calculator.divide(num1, num2);   //调用除法
break;
default:
break;
}
calculator.show();       //调用打印得数
}

}




3.

package page2_63;


import java.util.Scanner;
/**
 * 定义商品名称和价格
 * @author 
 *
 */
public class QussMachine {
String tradeName;  
int tradePrice;


/**
 *     预定义商品信息   
 * @param random    产生随机数字   选择一款竞猜商品
 */
public void initial(int num) {
switch (num) {
case 0:
case 1:
tradeName = "苹果8手机";
tradePrice = 5688;
System.out.print("请猜测" + "“" + tradeName + "”" + "的价格:");
break;
case 2:
case 3:
tradeName = "ipod4";
tradePrice = 2396;
System.out.print("请猜测" + "“" + tradeName + "”" + "的价格:");
break;


case 4:
case 5:
tradeName = "MacbookPro";
tradePrice = 12800;
System.out.print("请猜测" + "“" + tradeName + "”" + "的价格:");
break;
case 6:
case 7:
tradeName = "adidas运动鞋";
tradePrice = 1500;
System.out.print("请猜测" + "“" + tradeName + "”" + "的价格:");
break;
case 8:
case 9:
tradeName = "跑步机";
tradePrice = 7800;
System.out.print("请猜测" + "“" + tradeName + "”" + "的价格:");
break;


}


}



/**
 * 
 *      竞猜方法和方式
 * 
 */
public void guess() {
int num = 0;     //定义竞猜次数
Scanner input = new Scanner(System.in);
int price = input.nextInt();    //竞猜价格
for (int i = 1; i < 4; i++) {
if (price == tradePrice) {     
System.out.println("\n" + "恭喜您,猜对了该物品的价格,"+tradePrice+"是您的了!!!");
break;
} else if (price > tradePrice) {   
System.out.println("再小点!");
System.out.print("\n" + "再猜一次吧:");
price = input.nextInt();
} else {
System.out.println("再大点!");
System.out.print("\n" + "再猜一次吧:");
price = input.nextInt();
}
num++;
}
if (num == 3) {
System.out.println("\n4次内没有猜对,下次努力吧!");
}
}

}


package page2_63;


public class Test3 {
public static void main(String[] args) {
QussMachine qussMachine = new QussMachine();
int random = (int) (Math.random() * 10);   //产生随机数
qussMachine.initial(random);             // 调用预定义商品信息并随机出现商品名
qussMachine.guess();                         //调用竞猜方法和方式
}
}




4.

package page2_63;






public class Calculator2 {


/**
* 计算器类

* @author
*
*/


double num3; // 得数


/**
* 加法

* @param num1 第一操作数
*            
* @param num2 第二操作数
*            
*/
public void add(double num1, double num2) {
num3 = num1 + num2;
}


/**
* 减法

* @param num1
*            第一操作数
* @param num2
*            第二操作数
*/
public void minus(double num1, double num2) {
num3 = num1 - num2;


}


/**
* 乘法

* @param num1
*            第一操作数
* @param num2
*           第二操作数
*/
public void multiple(double num1, double num2) {
num3 = num1 * num2;


}


/**
* 除法

* @param num1
*            第一操作数
* @param num2
*            第二操作数
*/
public void divide(double num1, double num2) {
num3 = num1 / num2;


}
/**
 *      接收用户的选择运算 和2个数字
 * @param op      选择调用哪种方法
 * @param num1     第一个操作数
 * @param num2     第二个操作数
 * @return         返回得数
 */
public double ope(int op,int num1,int num2) {
switch (op) {
case 1:
add(num1, num2);   //调用加法
break;
case 2:
minus(num1, num2);  //调用减法
break;
case 3:
multiple(num1, num2);   //调用乘法
break;
case 4:
divide(num1, num2);   //调用除法
break;

 
}
return num3;
}
}


package page2_63;


import java.util.Scanner;


public class Test4 {
  public static void main(String[] args) {
 Calculator2 calculator2 = new Calculator2();
 Scanner input = new Scanner(System.in);
 System.out.print("请选择算法(1.加法       2.减法       3.乘法       4.除法):");
 int op = input.nextInt();
 System.out.print("请输入第一个操作数:");
int num1 = input.nextInt();
System.out.print("请输入第二个操作数:");
int num2 = input.nextInt();
System.out.println("***运算结果为:"+calculator2.ope(op,num1,num2));       //调用打印得数
}
           


}


5.

package page2_63;


/**
 * 将一个数字插入原来数组
 * 
 * @author
 *
 */


public class Demo6 {


public void insertArray(int[] arr, int index, int value) {
int[] arrs = new int[arr.length + 1]; // 定义一个新的数组来存放插入的数和原数组中的数
for (int i = 0; i < arrs.length; i++){  //元素后移
if (i < index) {       //如果光标小于插入光标
arrs[i] = arr[i];   // 原数组元素不动
} else if(i==index){        //如果光标等于插入光标
arrs[index] = value;     //  找到插入位置
}else {
arrs[i] = arr[i - 1];   //如果大于后移
}
}
System.out.print("插入后的数组为:");
for (int i = 0; i < arrs.length; i++) {
System.out.print(arrs[i] + "\t");
}
}


}


package page2_63;


import java.util.Scanner;


public class Test6 {
public static void main(String[] args) {
Demo6 demo6 = new Demo6();
int[] arr = new int[5];
Scanner input = new Scanner(System.in);
System.out.print("请输入数组的数:");
for (int i = 0; i < arr.length; i++) {
arr[i] = input.nextInt();
}


System.out.print("请输入要插入的下标:");
int index = input.nextInt();
System.out.print("请输入要插入的数字:");
int value = input.nextInt();


System.out.print("插入前的数组为:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + "\t");
}
System.out.println(" ");
demo6.insertArray(arr, index, value);


}
}



6.

package page2_63;


/**
 * 学生类
 * 
 * @author
 *
 */
public class Student {
int java;
int c;
int SQL;
/**
 *  显示每门成绩
 * 
 */
public void show() {
System.out.println("java成绩为:"+java+"\nc成绩为:"+c+"\nSQL成绩为:"+SQL);

}

}


package page2_63;


/**
 * 学生管理类
 * 
 * @author
 *
 */
public class StudentsBiz {


/**
* 获取平均分

* @param stu
* @return
*/
public double getAvg(Student stu) {
double avgScore = (stu.java + stu.c + stu.SQL) / 3 * 1.0;
return avgScore;
}
/**
 *  学生类作为参数  显示每个学生的成绩
 * @param students
 */ 
public void ss(Student[] students) {
for (int i = 0; i < students.length; i++) {
if (students[i] != null) {
students[i].show();
}
}
}

}



package page2_63;


import java.util.Scanner;


public class Test7 {
public static void main(String[] args) {
Student[] students = new Student[30];    
for (int i = 0; i < 3; i++) {
Student stu = new Student();
Scanner input = new Scanner(System.in);
System.out.print("请输入java成绩:");
stu.java = input.nextInt();
System.out.print("请输入c成绩:");
stu.c = input.nextInt();
System.out.print("请输入SQL成绩:");
stu.SQL = input.nextInt();
if (students[i] == null) {
students[i] = stu;
}
StudentsBiz studentsBiz = new StudentsBiz();
studentsBiz.ss(students);

System.out.print("第" + (i + 1) + "位学生的平均分为:" + studentsBiz.getAvg(stu)+"\n");

}


}


}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值