1、编写程序
(1)创建一个ArrayList,通过键盘任意输入10个整数,存放在ArrayList集合中;
(2)给集合中数据排序,在控制台上输出最小值;
(3)将最小值内容保存在d:\res.txt中。
package test;
import java.io.FileNotFoundException;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Test1 {
public class Test1 {
public static void main(String[] args) {
ArrayList<String> arrayList = new ArrayList<>();
Scanner scanner = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("请输入第" + (i + 1) + "个数");
arrayList.add(scanner.nextLine());
}
scanner.close();
System.out.println("键盘输入的值为" + arrayList);
Collections.sort(arrayList);
System.out.println("排序后的数组为" + arrayList);
System.out.println("数组最小值为:" + arrayList.get(0));
try {
PrintStream ps = new PrintStream("d:\\res.txt");
ps.print(arrayList.get(0));
//ps.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
2、编写一个函数将一个十六进制数的字符串参数转换成整数返回。
package com.mashensoft;
public class Test {
public static void main(String[] args) {
String str = "12a";
int len = str.length();
int sum = 0;
for (int i = 0; i < len; i++) {
char c = str.charAt(len - 1 - i);
//求出该char 的字整形表示在十六进制的情况下
int n = Character.digit(c, 16);System.out.println("n=" + n);
//1<<4 相当于1乘以16
sum += n * (1 << (4 * i));System.out.println("sum=" + sum);
}
//快捷的方法
//System.out.println(Integer.parseInt(str, 16));
}
}
3、键盘输入任意数字进行排序,计算出排序次数。
package com.mashensoft;
import java.util.Scanner;
public class Permute {
static int count = 0;
private void permute(String str) {
this.permute(str.toCharArray(), 0, str.length() - 1);
}
// 从最后一个位置向前,依次对每个位置上可能出现的字符进行确定(如字符数组是{a,b,c,d},那么最后一个位置可能出现4种情况,确定好第四位置上的字符后,第三个位置可能出现三种情况依次类推)
private void permute(char[] charArray, int low, int high) {
int i;
if (high == low) {
// 如果是到了第一个位置(low是第一个位置的索引),或者只有一个字符,那么应该输出此字符串
String str = "";
for (i = 0; i < charArray.length; i++) {
str += charArray[i];
}
System.out.print(str + " ");
count++;
} else {
for (int j = low; j <= high; j++) {
// 将某个位置上可能出现的字符进行遍历(如最后一个位置可能出现high+1种情况)
for (i = low; i < high; i++) {
// 将第low位置上的字符移到第high位置上
char temp = charArray[i];
charArray[i] = charArray[i + 1];
charArray[i + 1] = temp;
}
// 当第high位置上的字符确定后,就应该确定第high-1位置上的字符。
permute(charArray, low, high - 1);
}
}
}