数组拷贝
需求:
输入数组然后依次遍历输出。
import java.util.Scanner;
/**
* 目标:掌握数组拷贝
*/
public class Test05 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("请输入数组的长度");
int length = sc.nextInt();
int[] old = new int[length];
for (int i = 0; i < length; i++) {
System.out.println("请输入第"+(i+1)+"个数组元素");
int element = sc.nextInt();
old[i] = element;
}
int[] result = copy(old);
for (int i = 0; i < result.length; i++) {
System.out.print(result[i] + " ");
}
}
/**
* 方法要做的事情: 拷贝成一个一模一样的新数组出来
* 方法的参数? 老数组
* 方法的返回值? 新数组
*/
public static int[] copy(int[] old){
int[] newArr = new int[old.length];
for (int i = 0; i < old.length; i++) {
newArr[i] = old[i];
}
return newArr;
}
}
抢红包
需求:
一个大V直播时发起了抢红包活动,分别有:9,666,188,520,99999五个红包。请模拟粉丝来抽奖,按照先来先得,随机抽取,抽完即止,注意:一个红包只能被抽一次,先抽或后抽哪一个红包是随机的。
import java.util.Random;
import java.util.Scanner;
/**
* 目标: 完成抢红包案例。
*/
public class Test06 {
public static void main(String[] args) {
int[] num = {9,666,188,520,99999};
lottery(num);
}
/**
* 方法要做的事情: 模拟抽奖
* 方法的参数? 给一个存储金额的数组
* 方法的返回值? void
*/
public static void lottery(int[] moneys){
Scanner sc = new Scanner(System.in);
Random r = new Random();
for (int i = 0; i < moneys.length; i++) {
System.out.println("请按任意键启动抽奖:");
sc.next();
while (true){
int index = r.nextInt(moneys.length);
if (moneys[index] != 0){
System.out.println("恭喜您,抽中了"+(moneys[index])+"元");
moneys[index] = 0;
break;
}
}
}
}
}
找素数
需求:
输入两个数字,统计两数之间的所有素数,并输出
素数:指只能被1和该数本身整除的数,如:
分析:
第一步:使用for循环遍历并获取两数之间的每一个数
第二步:用2到该数一半的数除以每一个数,看是否能整除,看是否能整除,能则不是素数,不能则是素数
第三步:统计素数个数并返回
import java.util.Scanner;
public class Test07 {
public static void main(String[] args) {
//目标:完成找素数
Scanner sc = new Scanner(System.in);
System.out.println("请输入开始数字:");
int start = sc.nextInt();
System.out.println("请输入结束数字:");
int end = sc.nextInt();
System.out.println("当前的素数个数是:"+search(start, end));
}
public static int search(int start,int end){
int count = 0;
for (int i = start; i <= end; i++) {
boolean flag = true;
for (int j = 2; j <= i/2; j++) {
if (i % j == 0){
flag = false;
break;
}
}
if (flag){
System.out.println(i);
count++;
}
}
return count++;
}
}