1.创建数组的方法:动态、静态;
2.创建对象的方法:new;
3.生成随机数的方法Random:括号内为变动范围,后面可通过运算符变更初始值;
4.数值类型的强制转换:(类型) 变量/数值;
5.保证数组中的元素不重复:通过循环遍历数组中的前i - 1个元素与第i个元素进行比较,
通过分支结构if对结果进行判断控制流程。
6.通过冒泡程序进行排序:从数组的第一个元素开始与后面的一个元素比较,将大的数赋给后一个元素。
import java.util.*;
/**
*Created by Qiancheng at 04/10/2020
*定义长度为10的char[]数组,随机生成10个大写字符存入其中,并遍历此数组
*/
public class CharArrayTest3
{
public static void main(String[] args)
{
//创建一个键盘输入对象sc
System.out.print("请输入一个大于0的整数:");
Scanner sc = new Scanner(System.in);
//定义一个变量并把键盘输入的值赋给这个变量
int it = sc.nextInt();
if (it < 1 || it > 26)
{
System.out.println("输入错误,请输入大于1的整数!");
}
else
{
//定义一个长度为it的一维数组
char[] crr = new char[it];
//定义一个循环对crr中的元素进行遍历
for (int i = 0 ; i < crr.length ; i++)
{
//创建一个Random的对象rnd
Random rnd = new Random();
//定义一个变量ii,并赋给它65~65+25之间的随机数
int ii = rnd.nextInt(26) + 65;
//将变量ii强制转换成char类型并赋值给crr中的元素
crr[i] = (char) ii;
//定义一个循环,遍历crr数组中前j元素
for (int j = 0 ; j < i ; j++)
{
//如果crr中的前j个元素出现与第i个元素相同的情况,i自减并退出当前循环
if ( crr[j] == crr[i])
{
i--;
break;
}
}
}
//使用foreach循环遍历输出crr中的元素
for (char ix : crr)
{
System.out.print(ix + "\t");
}
System.out.println();
//使用冒泡排序对crr数组的元素从小到大排序并输出
for (int i = 0 ; i < crr.length ; i++)
{
for (int j = 0 ; j < crr.length - i - 1 ; j++)
{
char tmp = crr[j];
if (tmp > crr[j + 1])
{
crr[j] = crr[j + 1];
crr[j + 1] = tmp;
}
}
}
for (char ix : crr)
{
System.out.print(ix + "\t");
}
System.out.println();
}
}
}