Java 经典小题篇

Posted 执久呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 经典小题篇相关的知识,希望对你有一定的参考价值。

目录

一、前言

二、关于一个数是否素数

 代码:

三、不死神兔

代码:

 四、百钱百鸡

 代码:

五、数组反转

代码:


一、前言

一直发关于知识点的相信你们已经乏味了,咱们今天换换口味,写几个小题目

二、关于一个数是否素数

就是判断素数问题,也是十分常见的

 代码:

import java.util.Scanner;

public class 是不是素数 {
    public static void main(String[] args) {
        int i=0;
        do {

            Scanner sc = new Scanner(System.in);
            System.out.print("请输入你想判断的数字");
               int number = sc.nextInt();
               if(number==1){
                   System.out.println("不是素数");
               }
               if(number==0){
                   System.out.println("退出程序");return;
               }
               for ( i = 2; i < number; i++) {
                  if (number % i == 0) {
                    System.out.println("不是素数");
                    break;
                  }
               }
              if (i == number) {
                System.out.println("是素数");
              }
        }while(true);
    }
}

三、不死神兔

其实就是斐波那契数,封装成的一道题

代码:


public class 不死神兔 {
    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];
        }
        for(int i=0;i<arr.length;i++){
            System.out.println(i+1+"月"+"有兔子"+arr[i]+"对");
        }
    }
}

 四、百钱百鸡

这类问题想必大家并不陌生吧,100钱买100只鸡

 代码:


public class 百钱百鸡 {
    public static void main(String[] args) {
        for(int a=0;a<20;a++){//for 循环的值可不必相同,我是根据鸡的价格确定范围
            for(int b=0;b<33;b++){
                for(int c=0;c<333;c++){
                    if((a+b+c==100)&& (5*a+3*b+c/3==100)&&(c%3==0)){
                        System.out.println("公鸡有"+a+" 母鸡有"+b+" 小鸡有"+c);
                    }
                }
            }
        }
    }
}

五、数组反转

这个问题比较简单,只不过我把他封装成一个函数,以及手动输入数据

 

代码:

import java.util.Scanner;//导入输入包
public class 数组反转 {
    public static void main(String[] args){
        Scanner sc=new Scanner(System.in);
        int outer;
        System.out.print("请输入你要反转的数组有几个元素:");
        int n=sc.nextInt();//创建对象
        int []arr=new int[n];
          int count=0;
         for(int j=0;j<arr.length;j++){
            count++;
            System.out.print("请输入数组元素"+",第"+count+"次输入:");
            int kc=sc.nextInt();
            arr[j]=kc;
         }
            reverse(arr);//反转数组方法
            System.out.print("\\n反转后的结果是:");
            printF(arr);//打印数组方法
    }
    public static void reverse(int []arr){
        for(int start=0,end=arr.length-1;start<end ; end--,start++){
            int tmp=arr[start];
            arr[start]=arr[end];
            arr[end]=tmp;
        }
    }
    public static void printF(int []arr){
        for(int i=0;i<arr.length;i++){
            if(i==0){
                System.out.print("["+arr[i]);
            }
            else if(i>0&&i<arr.length-1){
                System.out.print(","+arr[i]);
            }
           else if(i==arr.length-1){
               System.out.println(","+arr[i]+"]");
            }
        }
    }
}

以上是关于Java 经典小题篇的主要内容,如果未能解决你的问题,请参考以下文章

二叉树刷题篇前中后序遍历的递归与迭代算法

Java经典安全数组实现的代码

java继承小题二

四道java小题

Java小题精炼训练营(篇三)

一道经典面试题:字符串在Java中如何通过“引用”传递