2006-11-17
写出能够比较两个一维数组内容是否相等的程序,该程序可以判断出两个一维数组内容是否完全相等,如果不相等,指出第一个不相等元素的位置;另外,对于数组长度不相同的情况要进行识别并提示。
要求:
输入参数采用命令行参数方式;
要实现以下三种元素的比较:数字,字符和字符串;
一次性在命令行参数中输入两个数组,为了分隔两个数组,请在输入过程中添加特定符号使程序可以识别出该符号是分隔两个数组的标志;并对应将数据分别装载进入两个数组;
程序运行过程中的提示和结果要以对话框的形式进行表达。
import javax。swing。JOptionPane;public class ArrayCompareMain {public static void main(String[] args) {ArrayCompare ac = new ArrayCompare(args);}}class ArrayCompare {private static final String SEPERATOR = ";";private static final int OK = 0;private static final int NG = -1;private Object...全部
import javax。swing。JOptionPane;public class ArrayCompareMain {public static void main(String[] args) {ArrayCompare ac = new ArrayCompare(args);}}class ArrayCompare {private static final String SEPERATOR = ";";private static final int OK = 0;private static final int NG = -1;private Object[] array1 = null;private Object[] array2 = null;private int seperatorIndex = -1;public ArrayCompare(String[] strConsoleLine) {int result = inputCheck(strConsoleLine);if (result == OK) {readArrays(strConsoleLine);int index = compareArray();if (index == -1) { owMessageDialog(null,"2 Arrays' contents are equals");} else { owMessageDialog(null, "The difference index is :" + index);}}}private int compareArray() {int ret = -1;int length = Math。
min(array1。length, array2。length);for (int i = 0; i -1 && seperatorIndex == strConsoleLine。
length) { owMessageDialog(null,"Please input the 2nd Arrays element");return -1;}if (seperatorIndex != strConsoleLine。
length - seperatorIndex - 1) {int n = owConfirmDialog(null,"Input Arrays' length are difference, keep on doing?","Attention", JOptionPane。
YES_NO_OPTION);if (n == JOptionPane。NO_OPTION) {return NG;}}return OK;}private void getSeperatorIndex(final String[] strConsoleLine) {for (int i = 0; i < strConsoleLine。
length; i++) {if (strConsoleLine[i]。equals(SEPERATOR)) {seperatorIndex = i;break;}}}}输入参照以下:。
收起