2021年10月18日 23:29 __ _ _ _ _

文章配图

不带评论的观察是人类智力的最高形式。

《非暴力沟通》

文章配图

今天给大家带来三道题,题目并不是很难,加上我们之前的语言基础和对Java的简单入门,我想这些题大家也能很简单的写出来。

To:题解不一定是最完美的,也欢迎大家在公众号后台和小编讨论。

1、使用for、while、do…while分别实现在n!,并在n=10的情况下测试建议编写三个独立的方法。

To:这里小编是将三个用法分成了三个类,并用一个TestDemo类来分别调用这三个方法。总共四个类如下:

Test1类方法:


package Experience1.Test;
public class Test1 {    public void test(int k) {        int i=0,sum=0;        while(i<=k){            sum=i*(i+1);            i++;        }        System.out.println(sum);    }}

while方法


Test2类方法:


package Experience1.Test;
public class Test2 {    public void tets2(int k){        int i=0,sum=0;        do{            sum=i*(i+1);            i++;        }while(i<=k);        System.out.println(sum);    }}

do…while方法

Test3类方法:


package Experience1.Test;
public class Test3 {    public void test3(int k){        int i=0,sum=0;        for (i = 0; i <= k; i++) {            sum = i * (i + 1);        }        System.out.println(sum);    }}

for方法

TestDemo类方法:


package Experience1.Test;
import java.util.Scanner;
public class TestDemo {    public static void main(String[] args) {        int k, sum=0;        Scanner sc = new Scanner(System.in);        k = sc.nextInt();//输入我们的n        Test1 t1 = new Test1();        Test2 t2 = new Test2();        Test3 t3 = new Test3();        System.out.println("第一个While方法:");        t1.test(k);        System.out.println("第二个Do while方法:");        t2.tets2(k);        System.out.println("第三个for方法:");        t3.test3(k);    }}

主函数

运行结果:

文章配图

2.创建如下的二维数组,并遍历数组

1 2 3 4 5

8 a b c

d e

To:只需使用一个简单的类进行打印输出操作。

ArrayTest类方法:


package Experience1.Array;
public class ArrayTest {    public void array(){        char[][] arr = new char[][]{{'1','2','3','4','5'},{'8','a','b','c'},{'d','e'}};        for(int i=0;i<arr.length;i++){            for(int j = 0;j<arr[i].length;j++){                System.out.print(arr[i][j]+" ");            }            System.out.println();//换行        }    }
    public static void main(String[] args) {        ArrayTest arrayDemo = new ArrayTest();        arrayDemo.array();    }}

运行结果:

文章配图

3. 要求:判断一个数组中是否存在相同的元素,如果存在相同的元素则输出“重复”,否则输出“不重复”。

该题中如果需要判断数组中元素是否重复,则需要对数组中的元素进行两两比较,如果有任意一组元素相等,则该数组中的元素存在重复,如果任意一组元素都不相等,则表示数组中的元素不重复。

实现思路:假设数组中的元素不重复,两两比较数组中的元素,使用数组中的第一个元素和后续所有元素比较,接着使用数组中的第二个元素和后续元素比较,依次类推实现两两比较,如果有一组元素相同,则数组中存储重复,结束循环。把比较的结果存储在一个标志变量里,最后判断标志变量的值即可。

To:这题需要注意的是我们在判断一个数组是否重复时,所进行的判断需要我们在进行一轮循环时不能把它自身算进去,否则便是无限重复。

Demo类方法:


package Experience1.ArrayTest;
import java.util.Scanner;
public class Demo {
    public void ArrTest1(){        int temp=0,flag=0;        Scanner sc = new Scanner(System.in);        System.out.println("请输入这个数组的大小:");        int k1 = sc.nextInt();        int arr1[] = new int[k1];        System.out.println("请输入数组的元素:");
        //输入这个数组的元素        for(int i = 0; i < arr1.length;i++){            arr1[i] = sc.nextInt();        }
        //分别比较两个数组的元素        for(int i = 0;i<arr1.length;i++){            for(int j = i+1;j<arr1.length;j++){                if(arr1[i]==arr1[j]){                    flag=1;                    break;                }                else{                    temp++;                }            }        }        if(flag==1){            System.out.println("这个数组有重复的元素!");        }        else{            System.out.println("此个数组没有重复的元素!");        }
    }
    public static void main(String[] args) {        Demo tt = new Demo();        tt.ArrTest1();    }
}

运行结果:

文章配图

关于刷题这件事,该有的题量还是必须要有的~

文章配图

文章配图

为你,千千万万遍

往期推荐:

玩机小技巧:Windows如何和ipad文件夹共享? 2021-10-16
文章配图

Java:对象and类? 2021-10-13
文章配图

Java:让我们来一起面向对象 2021-10-12
文章配图

一键三连,就差你了
文章配图

预览时标签不可点

阅读




__