目录
- 编程实现输出10个随机整数,值在0到100之间并进行并行排序。
- 基础知识
- java中产生随机数
- 冒泡排序
- 代码
- 字符串
- 代码
- (1)
- (2)
- (3)
编程实现输出10个随机整数,值在0到100之间并进行并行排序。
基础知识
java中产生随机数
java中可以用Math.random()方法来产生一个随机数,这个产生的随机数是0-1之间的一个double,乘以一定的数,比如说乘以100,就是个100以内的随机。
冒泡排序
就是对比相邻的两个数,得到一个最大的数。每次循环一次得到一个最大,最后排序。
参考
代码
package zqj;
public class hebi {
public static void main(String args[]) throws java.io.IOException//用于异常处理
{
int a[]=new int[10];//定义一维数组,长度为10
for(int i=0;i<10;i++)
{
a[i]=(int)(Math.random()*100);//产生十个随机数
}
System.out.println("得到的十个随机数");
for(int i=0;i<10;i++)
{
System.out.print(a[i]+" ");
}
// 冒泡排序
for(int i=1;i<a.length;i++) {
for (int j=0;j<a.length-i;j++) {
if(a[j]>a[j+1]) {
int t =a[j+1];
a[j+1]=a[j];
a[j]=t;
}
}
}
System.out.println();
System.out.println("排序后");
for(int i=0;i<10;i++) {
System.out.print(a[i]+" ");
}
}
}
编译结果
运行结果
字符串
设有两字串构成的集合,字符串内容值为
A:{a,b,c,d,e,f,g,in,off,about,get}
B:{f,g,a,come,get,go}
求出:(1)AB集合的交集。
(2)只在A集中出现的字串集合。
(3)AB集合的并集。
代码
(1)
package zqj;
public class diancan {
public static void main(String[] args) {
String[] cen1= {"a","b","c","d","e","f","g","in","off","about","get"};
String[] cen2= {"a","f","g","cone","go","get"};
for(int i=0;i<cen1.length;i++)//循环,两个一样时输出字符
{
for(int j=0;j<cen2.length;j++) {
if(cen1[i]==cen2[j]) {
System.out.print(cen1[i]+".");
}
}
}
}
}
结果
(2)
Arrays.asList() 是将数组作为列表
Java String.contains()方法用法实例教程, 返回true,当且仅当此字符串包含指定的char值序列。
代码
//两个字符串对比,得到独有的字符
import java.util.Arrays;
import java.util.List;
public class gy2 {
public static void main(String[] args) {
String A[] = {"a","b","c","d","e","f","g","in","off","about","get"};
String B[] = {"f","g","a","come","get","go"};
String C[]=method(A,B);
System.out.print("只在A中出现的字符:\n");
for(int i=0;i<C.length;i++)
{
if(C[i]!=null)
{
System.out.print(C[i]+" ");//遍历输出结果字符串数组
}
}
}
public static String[] method (String a[],String b[])
{
String c[]=new String[10];定义一维数组,长度为10
int k=0;
for(int i=0;i<a.length;i++)
{
List<String>list=Arrays.asList(b);将数组作为列表
if(!list.contains(a[i]))//调用list的contains方法,判断list中是否含有某元素
{
c[k]=a[i];//不含,则记录到新数组中
k++;
}
}
return c;
}
}
结果
(3)
字符串合并,查了下java可以用arrrycopy的方法。在之后除掉字符串相同元素。去掉相同的可以用SET。
去掉相同的字符参考:
package zqj;
import java.text.ParseException;
import java.util.Arrays;
import java.util.Set;
import java.util.TreeSet;
public class CY2 {
public static void main(String[] args) throws ParseException{//处理异常
String[] cen1= {"a","b","c","d","e","f","g","in","off","about","get"};
String[] cen2= {"a","f","g","cone","go","get"};
int cenLen1 = cen1.length;// 保存第一个数组长度
int cenLen2 = cen2.length;// 保存第二个数组长度
cen1 = Arrays.copyOf(cen1, cenLen1 + cenLen2);// 扩容
System.arraycopy(cen2, 0, cen1, cenLen1,cenLen2);// 将第二个数组与第一个数组合并
System.out.println("合并后");
System.out.println(Arrays.toString(cen1));
Set set = new TreeSet();
for (int i = 0; i < cen1.length; i++) {
set.add(cen1[i]);
}
cen1 = (String[]) set.toArray(new String[0]);//排除共有的
System.out.println("排除后共有的字符");
for (int i = 0; i < cen1.length; i++) {
System.out.print(cen1[i]+".");
}
}
}
结果
运行结果