Java简易小题练手~
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
一键三连,就差你了
预览时标签不可点
阅读
__











