前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Java简易小题练手~

Java简易小题练手~

作者头像
小Bob来啦
发布2021-10-21 17:08:44
3520
发布2021-10-21 17:08:44
举报

今天给大家带来三道题,题目并不是很难,加上我们之前的语言基础和对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();
    }

}

运行结果:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员Bob 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档