JAVA学习日记(第五天)
·
方法的内存

方法调用的基本内存原理

基本数据类型和引用数据类型




方法传递基本数据类型的内存原理

方法传递引用数据类型的内存原理




package com.itheima.loopdemo;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入机票的原价");
int ticket = sc.nextInt();
System.out.println("请输入当前的月份");
int month = sc.nextInt();
System.out.println("请输入当前购买的舱位 0 为头等舱 1 为经济舱");
int seat = sc.nextInt();
if (month>=5 &&month<=10){
if (seat == 0) {
ticket = (int) (ticket * 0.9);
} else if (seat == 1) {
ticket = (int)(ticket* 0.85);
}
} else if ((0<month && month<5) || (month>10 && month<=12)) {
if (seat == 0) {
ticket = (int) (ticket * 0.7);
} else if (seat == 1) {
ticket = (int)(ticket* 0.65);
}
}else{
System.out.println("录入不合法");
}
System.out.print("最终票价为:" + ticket);
}
加入方法
package com.itheima.loopdemo;
import java.util.Scanner;
public class test {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入机票的原价");
int ticket = sc.nextInt();
System.out.println("请输入当前的月份");
int month = sc.nextInt();
System.out.println("请输入当前购买的舱位 0 为头等舱 1 为经济舱");
int seat = sc.nextInt();
if (month>=5 &&month<=10){
ticket = getPrice(ticket,seat,0.9,0.85);
} else if ((0<month && month<5) || (month>10 && month<=12)) {
ticket = getPrice(ticket,seat,0.7,0.65);
}else{
System.out.println("录入不合法");
}
System.out.print("最终票价为:" + ticket);
}
//我要干嘛?跟陆
public static int getPrice(int ticket,int seat,double v0,double v1){
if (seat == 0){
ticket = (int)(ticket * v0);
} else if (seat == 1) {
ticket = (int)(ticket * v1);
}else {
System.out.println("没有这个舱位");
}
return ticket;
}
}
快捷键小知识
Ctrl + Alt + L 快速整理代码
Ctrl + Alt + M 快速生成方法

package com.itheima.loopdemo;
import java.util.Scanner;
import java.util.Random;
public class test {
public static void main(String[] args) {
// 1. 生成中奖号码
int[] arr = createNumber();
// 2. 用户输入号码
int[] userInputArr = userInputNumber();
// 3. 统计红球和蓝球中奖个数
int redCount = 0;
int blueCount = 0;
// 注意:只比对前6位红球
for (int i = 0; i < 6; i++) {
int userRed = userInputArr[i];
for (int j = 0; j < 6; j++) {
if (userRed == arr[j]) {
redCount++;
break;
}
}
}
// 比对最后一位蓝球
if (userInputArr[6] == arr[6]) {
blueCount++;
}
// 4. 判定奖项
System.out.println("中奖号码为: ");
printArray(arr);
System.out.println("您的号码为: ");
printArray(userInputArr);
judge(redCount, blueCount);
}
// 生成中奖号码
public static int[] createNumber() {
int[] arr = new int[7];
Random r = new Random();
for (int i = 0; i < 6; ) { // 注意这里不写i++
int redNumber = r.nextInt(33) + 1;
if (!contains(arr, redNumber)) {
arr[i] = redNumber;
i++; // 只有成功放入才自增
}
}
arr[6] = r.nextInt(16) + 1;
return arr;
}
// 用户输入号码
public static int[] userInputNumber() {
int[] arr = new int[7];
Scanner sc = new Scanner(System.in);
// 输入红球
for (int i = 0; i < 6; ) {
System.out.println("请输入第" + (i + 1) + "个红球号码(1-33):");
int num = sc.nextByte();
if (num >= 1 && num <= 33) {
if (!contains(arr, num)) {
arr[i] = num;
i++;
} else {
System.out.println("号码已存在,请重新输入");
}
} else {
System.out.println("超出范围,请输入1-33之间的数字");
}
}
// 输入蓝球
while (true) {
System.out.println("请输入蓝球号码(1-16):");
int blueNumber = sc.nextInt();
if (blueNumber >= 1 && blueNumber <= 16) {
arr[6] = blueNumber;
break;
} else {
System.out.println("蓝球号码超出范围");
}
}
return arr;
}
// 判断数组中是否包含某个数
public static boolean contains(int[] arr, int number) {
for (int i = 0; i < 6; i++) { // 只需检查红球部分
if (arr[i] == number) return true;
}
return false;
}
// 打印数组
public static void printArray(int[] arr) {
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println();
}
// 判定奖项逻辑
public static void judge(int redCount, int blueCount) {
System.out.println("您中了 " + redCount + " 个红球, " + blueCount + " 个蓝球");
if (redCount == 6 && blueCount == 1) {
System.out.println("恭喜你,中奖1000万");
} else if (redCount == 6 && blueCount == 0) {
System.out.println("恭喜你,中奖500万");
} else if (redCount == 5 && blueCount == 1) {
System.out.println("恭喜你,中奖3000元");
} else if ((redCount == 5 && blueCount == 0) || (redCount == 4 && blueCount == 1)) {
System.out.println("恭喜你,中奖200元");
} else if ((redCount == 4 && blueCount == 0) || (redCount == 3 && blueCount == 1)) {
System.out.println("恭喜你,中奖10元");
} else if (blueCount == 1) {
System.out.println("恭喜你,中奖5元");
} else {
System.out.println("谢谢参与");
}
}
}
二维数组

二维数组的静态初始化





更多推荐





所有评论(0)