近两天练习代码

不死神兔

需求:有一对兔子,从出生第三个月起每个月都生一对兔子,小兔子长到第三个月又生一对兔子,假如兔子都不会死,问第二十个月的兔子对数为多少。

public class Test_9 {
    public static void main(String[] args) {
        int[] arr = new int[20];
        arr[0] = 1;
        arr[1] = 1;
        for (int i = 2; i < arr.length; i++) {
            arr[i] = arr[i - 2] + arr[i - 1];
        }
        System.out.println("第二十个月兔子的对数是:" + arr[arr.length - 1]);


    }
}

逢七过

规则:从任意一个数字开始报数,到包含7或者是7的倍数时说:过。

打印1-100之间满足逢七过规则的数据。

public class Test_9 {
    public static void main(String[] args) {
     for (int i = 1;i<=100;i++){
         if (i%10==7||i/10%10==7||i%7==0){
             System.out.println(i+"过");
         }else {
             System.out.println(i);
         }
     }

    }
}

减肥计划

需求:输入星期数,显示今天的减肥活动。

用if分支实现。

import java.util.Scanner;

public class Test_9 {
    public static void main(String[] args) {


        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.println("请输入一个数:");
            int a = sc.nextInt();
            if (a==1){
                System.out.println("游泳");
            }else if(a==2){
                System.out.println("跑步");
            }else if(a==3){
                System.out.println("慢走");
            }else if(a==4){
                System.out.println("单车");
            }else if(a==5){
                System.out.println("拳击");
            }else if(a==6){
                System.out.println("爬山");
            }else if(a==7){
                System.out.println("干饭");
            }else{
                System.out.println("输入有误,请重新输入!");
            }

        }

    }
}

用switch case实现:

import java.util.Scanner;

public class Test_9 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        while (true){
            System.out.print("请输入星期数:");
            int i = sc.nextInt();
            switch (i){
                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("输入有误,请重新输入!");
                    break;
            }
        }


    }

    }

百钱百鸡

公鸡一只五块钱,母鸡一只三块钱,小鸡三只一块钱,一百块钱可以买多少只公鸡母鸡和小鸡。

public class Test_9 {
    public static void main(String[] args) {
        for (int x = 0; x <= 20; x++) {
            for (int y = 0; y <= 33; y++) {
                int z = 100 - x - y;
                if (z % 3 == 0 && 5 * x + 3 * y + z / 3 == 100) {
                    System.out.println(x +"," +y +","+ z);
                }
            }
        }

    }

}

数组元素求和

需求:有这样的一个数组,元素是{68,27,95,88,171,996,51,210}。求出该数组中满足要求的元素和。

要求:求和的元素个位和十位都不能是7,并且只能是偶数。

public class Test_9 {
    public static void main(String[] args) {
        int [] arr = {68,27,95,88,171,996,51,210};
        int num = 0;
        for (int i = 0;i<arr.length;i++){
            if (arr[i] %10!=7&& arr[i] /10%10!=7&& arr[i] %2==0){

                 num += arr[i] ;

            }
        }
        System.out.println(num);


    }

}

判断数组内容相同

需求:设计一个方法,用于比较两个数组的内容是否相同。

public class Test_9 {
    public static void main(String[] args) {



        int [] arr = {11,22,33,44,55,66,77,88,99};
        int [] arr1 = {11,22,33,44,55,66,77,88,99};
        boolean a = getArr(arr,arr1);

        public static boolean getArr(int [] arr,int [] arr1){

            if (arr.length !=arr1.length){
                return false;
            }
            for (int i = 0;i<arr.length;i++){
                if (arr[i] != arr1[i]){
                    return false;
                }
            }
            return true;
        }
    } System.out.println(a);
    }

查找

需求:已知一个数组arr={19,28,37,46,50};键盘录入一个数据,查找该数据在数组中的索引,并输出找到的索引值。

import java.util.Scanner;

public class Test_9 {
    public static void main(String[] args) {

        int[] arr = {19, 28, 37, 46, 50};
        Scanner sc = new Scanner(System.in);
        System.out.print("请输入需要查找的数字:");
        int number = sc.nextInt();
        int index = -1;
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] == number) {
                index = i;
                break;
            }
        }
        System.out.println("所查数字的下标为:" + index);
    }
}

数组元素交换

需求:已知一个数组 arr={19,28,37,46,50};实现把数组中的元素值交换;

定义一个遍历数组的方法实现打印。

public class Test_9 {
    public static void main(String[] args) {
        int[] arr = {19, 28, 37, 46, 50};
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + ", ");
        }
        System.out.println();

        int temp = 0;
        for (int start = 0,end = arr.length-1; start <= end; start++, end--) {
            temp = arr[start];
            arr[start] = arr[end];
            arr[end] = temp;
        }
        changerArr(arr);
        /*for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] + ", ");
        }*/

    }
    public static void changerArr(int [] arr){
        for (int i = 0;i<arr.length;i++){
            System.out.print(arr[i]+", ");
        }
    }
}

评委打分

需求:在编程竞赛中,有6个评委为参赛的选手打分,分数为0-100的整数分。

选手的最后得分为:去掉一个最高分和一个最低分后的四个评委的平均值(不考虑小数部分)。

import java.util.Scanner;

public class Test_9 {
    public static void main(String[] args) {



        int [] arr = new int [6];
        for (int i = 0;i<arr.length;i++){
            Scanner sc = new Scanner(System.in);
            System.out.print("请输入第"+(i+1)+"名的分数:");
            arr [i]= sc.nextInt();
        }

        int num = Max(arr);
        System.out.println("最高分是:"+num);

        Bit(arr);
        System.out.println("最低分是:"+Bit(arr));

        Add(arr);
        System.out.println("分数和是:"+Add(arr));

        num = (Add(arr)-Max(arr)-Bit(arr))/4;
        System.out.println("平均分是:"+num);

    }
    public static int Max(int [] arr){
        int max = arr[0];
        for (int i = 0;i<arr.length;i++){
            if (max<arr[i]){
                max = arr[i];
            }
        }
        return max;
    }

    public static int Bit(int [] arr){
        int bit = arr[0];
        for (int i = 0;i<arr.length;i++){
            if (bit>arr[i]){
                bit = arr[i];
            }
        }
        return bit;
    }
    public static int Add(int [] arr){
        int sum = 0;
        for (int i = 0;i<arr.length;i++){
            sum+=arr[i];
        }
        return sum;
    }
}

类的创建和使用

public class Phone {


    //成员变量
    String brand;
    int price;
    //成员方法
    public void call(){
        System.out.println("打电话");
    }
    public void sendMessage(){
        System.out.println("发短信");
    }
}
public class PhoneDemo {
    public static void main(String[] args) {
        //创建对象
        Phone p = new Phone();

        //使用成员变量
        System.out.println(p.price);
        System.out.println(p.brand);

        p.brand = "Iphone";
        p.price = 5999;
        System.out.println(p.price);
        System.out.println(p.brand);

        p.call();
        p.sendMessage();
    }
}

用户登录

需求:已知用户名和密码,请用程序实现模拟用户登录。总共给三次机会,登陆之后,给出相应的提示。

import java.util.Scanner;

public class StudentDemo {
    public static void main(String[] args) {
        String admin = "123456";
        String password = "123456";
        Scanner s1 = new Scanner(System.in);
        Scanner s2 = new Scanner(System.in);


        for (int i = 1; i <= 3; i++) {
            System.out.print("请输入用户名:");
            String adMin = s1.nextLine();
            System.out.print("请输入密码:");
            String passWord = s2.nextLine();
            if (admin.equals(adMin) && password.equals(passWord)) {
                System.out.println("登录成功!");
                break;
            } else {
                if (3 - i == 0) {
                    System.out.println("账号或密码错误,欢迎下次使用!");
                } else {
                    System.out.println("用户名或密码错误,你还有" + (3 - i) + "次机会");
                }
            }


        }

    }
}

遍历字符串

需求:键盘录入一个字符串,使用程序实现现在控制台遍历该字符串

import java.util.Scanner;

public class StudentDemo {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个字符串:");
        String line = sc.nextLine();


       for (int i=0;i<line.length();i++){


            System.out.print(line.charAt(i)+"、 ");
        }
        System.out.println();
        System.out.println("字符串的长度为:"+ line.length() +"个字符");


    }
}

统计字符次数

需求:键盘录入一个字符串,统计该字符串中大写字母字符,小写字母字符,数字字符出现的次数(不考虑其他字符)

import java.util.Scanner;

public class StudentDemo {
    public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个字符串:");
        String line = sc.nextLine();
        int a1 = 0;//大写字母
        int a2 = 0;//小写字母
        int a3 = 0;//数字
        for (int i = 0;i<line.length();i++){
            //System.out.println(line.charAt(i));
            if (line.charAt(i)>='A'&&line.charAt(i)<='Z'){
                a1++;
            }else if(line.charAt(i)>='a'&&line.charAt(i)<='z'){
                a2++;
            }else if (line.charAt(i)>='0'&&line.charAt(i)<='9'){
                a3++;
            }
        }
        System.out.println("该字符串大写字母有"+a1+"个!");
        System.out.println("该字符串小写字母有"+a2+"个!");
        System.out.println("该字符串数字有"+a3+"个!");


    }

拼接字符串

需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法并在控制台输出结果。

例如:数组为int[]arr={1,2,3};执行方法后的输出结果为:[1,2,3]

public class StudentDemo {
    public static void main(String[] args) {

      int [] ch = {1,2,3,4,5,6};

      String ch1 = Changer(ch);

        System.out.println(Changer(ch));
    }



    public static String Changer(int [] arr){

        String sr = "";
        sr+='[';
        for (int i = 0;i<arr.length;i++){
            if (i==arr.length-1){
                sr+=arr[i];
            }else {
                sr+=arr[i];
                sr+=", ";
            }
        }
        sr+=']';
        return sr;
    }
    }

字符串反转

需求:定义一个方法,实现字符串反转。键盘录入一个字符串,调用该方法后,在控制台输出结果。

例如:输入录入abc,输出结果cba

import java.util.Scanner;

public class StudentDemo {
    public static void main(String[] args) {

      Scanner sc = new Scanner(System.in);
        System.out.print("请输入一个字符串:");
        String line = sc.nextLine();
        String s = Changer(line);
        System.out.println(s);


    }
    public static String Changer(String sc){
        
        String s ="";
        for (int i = sc.length()-1;i>=0;i--){
            s += sc.charAt(i);
        }
        return s;
    }


}

StringBuilder实现拼接字符串

需求:定义一个方法,把int数组中的数据按照指定的格式拼接成一个字符串返回,调用该方法,并在控制台输出结果。

例如:数组为int[]arr = {1,2,3},执行方法后的输出结果为:[1,2,3]

public class StudentDemo {
    public static void main(String[] args) {
        int [] arr = {1,2,3,4,5,6};

        String s = arrtoString(arr);
        System.out.println(s);

    }
    public static String arrtoString(int [] arr){
        StringBuilder sb = new StringBuilder();
        sb.append("[");
        for (int i = 0;i<arr.length;i++){
            if (i==arr.length-1){
                sb.append(arr[i]);
            }else {
                sb.append(arr[i]).append(", ");
            }
        }
        sb.append("]");
        String s = sb.toString();

        return s;
    }


}

存储学生对象并遍历

需求:创建一个存储对象的集合,存储三个学生对象,使用程序实现在控制台遍历该集合,学生的姓名和年龄来自于键盘录入。

首先先创建一个学生的类:

public class Student {

   private String name;
   private String age;

   public void setName(String name){
       this.name = name;
   }
   public String getName(){
       return name;
   }
   public void setAge(String age){
       this.age = age;
   }
   public String getAge(){
       return age;
   }
   public Student(){

   }
   /*public Student(String name){
       this.name = name;
   }
   public Student(String age){
       this.age = age;
   }*/
   public Student(String name,String age){
       this.name = name;
       this.age  = age;
   }
   public void show(){
       System.out.println(name+", "+age);
   }
}

然后下面是代码实现

import java.util.ArrayList;
import java.util.Scanner;

public class StudentDemo {
    public static void main(String[] args) {


        ArrayList<Student> array = new ArrayList<>();

        addStudent(array);
        addStudent(array);
        addStudent(array);

        for (int i = 0;i <array.size();i++){
            Student s = array.get(i);
            System.out.println(s.getName()+", "+s.getAge());
        }

    }
        public static void addStudent(ArrayList <Student> array){

            Scanner sc = new Scanner(System.in);
            System.out.print("请输入学生姓名:");
            String name = sc.nextLine();
            System.out.print("请输入学生年龄:");
            String age = sc.nextLine();

            Student s = new Student();
            s.setName(name);
            s.setAge(age);
            array.add(s);
        }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值