「java数字打乱」java输出是乱码
本篇文章给大家谈谈java数字打乱,以及java输出是乱码对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java里怎样打乱(洗牌)一个数组
- 2、如何在JAVA中随机打乱输出一组数字而不重复
- 3、JAVA怎么打乱一串数字的顺序?不要重复的。新手。
- 4、java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?
java里怎样打乱(洗牌)一个数组
//给你个思路:给要给随机值,该随机值在索引范围内,然后从索引值里面取元素,在该元素对应
//的位置,进行二次随机取其他元素,然后进行交换,就可以了!
//还有更简单的办法,java早就想到了这一点,在集合工具里面就提供该方法,其实他内部也是
//这样的思路,用随机值进行交换!
import java.util.*;
public class ArrayListTest {
public static void main(String[] args) {
Integer[] arr=new Integer[10];
for (int i = 0; i arr.length; i++) {
arr[i]=i+1;
}
System.out.println("\n原序:"+Arrays.toString(arr)+"\n");//原数组!
ListInteger list=Arrays.asList(arr);//借用集合帮忙排序!
for(Integer a:list) {
Collections.shuffle(list);//随机排序!
System.out.println("随机:"+Arrays.toString(arr));//排序后!
}
}
}
//数字或者数量,你可以随意修改,二维数组也可以照用!
如何在JAVA中随机打乱输出一组数字而不重复
哥给你完善下
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Random;
public class A6 {
public static void main(String[] args) throws IOException {
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
boolean same = false;
int num1 = 0;
int num2 = 0;
while (!same) {// if the numbers which user enter are the same,do it
// again
try {
System.out.print("enter a number: ");// ask user a number
num1 = Integer.parseInt(in.readLine());
System.out.print("enter another number: ");// ask user another
// number
num2 = Integer.parseInt(in.readLine());
if (num1 != num2) {
same = true;// if the number are different,continue the next part and don't need to enter again
} else {
System.out.println("two numbers is same.");// if not , ask user to enter again
}
} catch (NumberFormatException nfc) {// text the enter is a number or not,if not,ask user enter again
System.out.println("not a number");// show user the reason why get false
}
}
//Add starts
ListInteger list = new ArrayListInteger();
int max = num1 num2? num1: num2;
int min = num1 num2? num1: num2;
Random rand = new Random();
while(list.size() (max - min + 1)){
int value = min + rand.nextInt(max - min + 1);
if(value = min value = max !list.contains(value)){
list.add(new Integer(value));
}
}
//Calcuate sum for each pair
int sum[] = new int[list.size() - 1];
for(int i = 0; i list.size() - 1; i++){
sum[i] = list.get(i).intValue() + list.get(i+1).intValue();
}
Arrays.sort(sum); //升序排列结果
System.out.println("Max pair sum is: " + sum[sum.length - 1]);
System.out.println(list.toString());
//Add ends
}
}
--------------测试
enter a number: 6
enter another number: -3
Max pair sum is: 10
[3, 4, 6, -2, 0, 2, -1, 5, 1, -3]
JAVA怎么打乱一串数字的顺序?不要重复的。新手。
数组去重有两个选择:
一、编写判断语句
如果没有,添入数组,如果有,不添入数组。
System.out.println("How many numbers? ");
Scanner key = new Scanner(System.in);
int n = key.nextInt();
int[] all = new int[n];
int allNum=0;
boolean flag;
for (int num = 0; num n; num++) {
flag=true;
int random = (int) (Math.random() * n);
System.out.print(random + " ");
//循环判断元素与random是否重复
for (int mark = 0; mark all.length; mark++) {
if (random == all[mark]) {
flag=false;
}
}
//如果不重复添入数组里
if(flag){
all[allNum]=random;
allNum++;
}
}
System.out.println();
//如果有一个重复的数字,数组后面就会多一个0,现在要去除0
int[] allTrue=Arrays.copyOf(all, allNum);
//输入 最后去重以后的数组
for (int num = 0; num allNum; num++) {
System.out.print(allTrue[num]+" ");
}
二、使用Set集合去重
java怎么打乱一个由键盘录入规定数组长度以及数据的一维数组并遍历出来?
首先键盘录入可以用scanner类实现控制台输入,然后打乱数组可以用random类产生随机数来控制输入的数存入随机的数组位置,这个地方要注意随机数不可重复,要控制范围在定义的数组长度内,最后遍历直接一个for循环。
关于java数字打乱和java输出是乱码的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-12-20,除非注明,否则均为
原创文章,转载请注明出处。