1.Debug
2.基础练习
题目一
输入星期数,显示今天的减肥活动 周一:跑步 周二:游泳 周三:慢走 周四:动感单车 周五:拳击 周六:好好吃一顿 周日:爬山
import java.util.Scanner;
public class Test01 {
public static void main(String[] args) {
//键盘输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week = sc.nextInt();
//判断
if(week == 1){
System.out.println("跑步");
}else if(week == 2){
System.out.println("游泳");
}else if(week == 3){
System.out.println("散步");
}else if(week == 4){
System.out.println("动感单车");
}else if(week == 5){
System.out.println("拳击");
}else if(week == 6){
System.out.println("好好吃一顿");
}else if(week == 7){
System.out.println("看我还有机会么?爬山");
}else{
System.out.println("输入错误");
}
}
}
题目二
用switch来完成减肥计划
import java.util.Scanner;
public class Test02 {
public static void main(String[] args) {
//键盘输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个星期数:");
int week = sc.nextInt();
//判断
switch (week) {
case 1:
System.out.println("跑步");
break;
case 2:
System.out.println("游泳");
break;
case 3:
System.out.println("散步");
break;
case 4:
System.out.println("动感单车");
break;
case 5:
System.out.println("拳击");
break;
case 6:
System.out.println("好好吃一顿");
break;
case 7:
System.out.println("爬山");
break;
default:
System.out.println("输入错误");
}
}
}
题目三
逢七跳过游戏,打印出1-100之见包含7或者是7的倍数的数字。
public class Test03 {
//逢七跳过游戏,打印出1-100之见包含7或者是7的倍数的数字。
public static void main(String[] args) {
//循环1-100
for (int i = 1; i < 100; i++) {
//个位
int ge = i % 10;
//十位
int shi = i / 10;
//判断
if(ge==7||shi==7||i%7==0){
System.out.println(i);
}
}
}
}
题目四
不死神兔。有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子, 假如兔子都 不死,问第二十个月的兔子对数为多少?
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-SNKV5Tzf-1596444179819)(img\兔子.png)]
题目五
有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。
求出该数组中满足要求的元素和
要求是:求和的元素个位和十位都不能是7,并且只能是偶数
public class Test05 {
public static void main(String[] args) {
//定义数组
int[] arr = {68,27,95,88,171,996,51,210};
//定义和
int sum = 0;
//遍历数组
for (int i = 0; i < arr.length; i++) {
//十位
int shi = arr[i] / 10 % 10;
//条件
if(shi!=7 && arr[i]%2==0){
sum += arr[i]; // sum = sum + arr[i];
}
}
//打印
System.out.println("和是" + sum);
}
}
题目六
判断两个数组是否相同。
不使用方法:
public class Test06 {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55};
int[] brr = {11,22,33,44,55};
//先判断长度
if(arr.length != brr.length){
System.out.println("两个数组不相同");
}else{
//长度相同再比较每一个元素
for (int i = 0; i < arr.length; i++) {
//判断
if(arr[i] != brr[i]){
System.out.println("两个数组不相同");
//结束方法
return;
}
}
System.out.println("两个数组相同");
}
}
}
使用方法:
public class Test06_2 {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55};
int[] brr = {11,22,33,44,55};
//调用方法
boolean b = method(arr, brr);
if(b){
System.out.println("相同");
}else{
System.out.println("不相同");
}
}
//定义一个方法:判断两个数组是否相同
public static boolean method(int[] arr,int[] brr){
//先判断长度
if(arr.length != brr.length){
return false;
}
//再判断内容
for (int i = 0; i < arr.length; i++) {
if(arr[i] != brr[i]){
return false;
}
}
//结束了循环就说明元素都相同
return true;
}
}
题目七
已知一个数组 arr = {19, 28, 37, 46, 50} 键盘录入一个数据,查找该数据在数组中第一次出现的索引。
并在控制台输出找到的索引值。如果没有查找到,则输出-1
import java.util.Scanner;
public class Test07 {
public static void main(String[] args) {
//创建数组
int[] arr = {19, 28, 37, 46, 50};
//键盘输入
Scanner sc = new Scanner(System.in);
System.out.println("请输入一个数据:");
int num = sc.nextInt();
//调用
int index = getIndex(arr, num);
System.out.println(index);
}
//定义方法:查找数据在数组中出现的索引
public static int getIndex(int[] arr,int num){
//循环
for (int i = 0; i < arr.length; i++) {
//判断
if(arr[i] == num){
return i;
}
}
//找不到返回-1
return -1;
}
}
题目八
已知一个数组 arr = {19, 28, 37, 46, 50} 用程序实现把数组中的元素值交换
交换后的数组 arr = {50, 46, 37, 28, 19} 并在控制台输出交换后的数组元素。
public class Test08 {
public static void main(String[] args) {
int[] arr = {11,22,33,44,55,66};
//调用
reverse(arr);
//调用
print(arr);
}
//定义方法:反转
public static void reverse(int[] arr){
int i = 0;
int j = arr.length-1;
//循环
while(i<j){
//i位置和j位置的元素交换
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
i++;
j--;
}
}
//定义方法[元素 元素 元素]
public static void print(int[] arr){
System.out.print("[");
for (int i = 0; i < arr.length; i++) {
//判断最后一个元素
if(i == arr.length-1){
System.out.print(arr[i]);
}else{
System.out.print(arr[i] + " ");
}
}
System.out.println("]");
}
}
题目九
有6个评委为参赛的选手打分,分数为0-100的整数分。
选手的最后得分为:去掉一个最高分和一个最低分后的4个评委平均值 (不考虑小数部分)。
import java.util.Scanner;
public class Test09 {
public static void main(String[] args) {
//定义数组
int[] arr = new int[6];
//键盘输入分数
Scanner sc = new Scanner(System.in);
//循环
for (int i = 0; i < arr.length; i++) {
System.out.println("请输入第" + (i+1) + "个分数:");
arr[i] = sc.nextInt();
}
//求最高分
int max = getMax(arr);
//求最低分
int min = getMin(arr);
//求总和
int sum = getSum(arr);
//(总和 - 最高分 - 最低分) / 4 = 平均分
System.out.println((sum-max-min)/4.0);
}
//求最高分
public static int getMax(int[] arr){
int max = arr[0];
for (int i = 1; i < arr.length; i++) {
if(arr[i] > max){
max = arr[i];
}
}
return max;
}
//求最低分
public static int getMin(int[] arr){
int min = arr[0];
for (int i = 1; i < arr.length; i++) {
if(arr[i] < min){
min = arr[i];
}
}
return min;
}
//求总分
public static int getSum(int[] arr){
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
}