`

数组无聊代码1

阅读更多
import java.util.*;

public class MultipleArraySort {

	/*
	 * 多维数组,当作对象来使用 Array [ROW] [COLUMN]
	 * 
	 * String [5][10] 有一个对象,包含10个字段 ,当前数组有5个这样的object
	 * 
	 * String[1][2]
	 * 
	 * 有一个对象,包含2个字段 , 当前数组只有1个这样的object
	 * 
	 * String [ROW][COLUMN] !!!
	 * 
	 * 现在对这个Array进行排序,也就是对 row 个对象进行排序,排序的准则是根据column 里面的值
	 * 
	 * 一维数组是Object 二维数组是Collection
	 * 
	 * 按照function的规则进行排序
	 * private void sort(Arrays[][],function f  ){}
	 */

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		String[]originalArray = new String[5];
		// Array constants can only be used in initializer
		// originalArray[0]= {"3-4-4-2","2443"};
		
		
		originalArray[0] = "3-4-4-2";
		originalArray[1] = "2443";
		
		
		//Array is object!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
		String[] newArray = originalArray;
		newArray[0]="labce";
		log(newArray[0]);
		log(originalArray[0]);
		
		
	}

	/*
	 * private static void log(<T>Object ){
	 */

	private static void log(Object o) {

		/*
		 * log(5)也可以过来,因为自动boxing,unboxing
		 */
		System.out.println("<<<<<<<<<<<<<start " + o.getClass().getName());

		/*
		 * 打印二维数组(二维数组也是特殊的一维数组)
		 * 很多维呢?
		 */
		if (o instanceof Object[][]) {
			/*
			 * o是一个object 参数传递过来,要变例必须转为数组
			 */
			for (Object[] o1 : (Object[][]) o) {
				for (Object o2 : o1) {
					/*
					 * String[][] originalArray= new String[5][2]; default value
					 * is null ,no object is stored ,NullPointerException
					 * 
					 * int[][]  originalArray= new String[5][2]
					 */
					System.out.print((o2 == null) ? "null" : (o2.toString()));
					System.out.print(" ");
				}
				System.out.println();
			}

		} else if (o instanceof Object[]) {
			/*
			 * 打印一维数组
			 */
			for (Object o1 : (Object[]) o) {
				System.out.println((o1 == null) ? "null" : (o1.toString()));
				
			}
		} else {
			System.out.println((o == null) ? "null" : (o.toString()));
		}

		System.out.println("<<<<<<<<<<<<<end   " + o.getClass().getName());
	}

	private static void logArrayIntOneD(int[] original) {
		System.out.println("<<<<<<<<<<<<<start "
				+ original.getClass().getName());
		for (int i : original) {
			System.out.print(i + " ");
		}
		System.out.println();
		System.out.println("<<<<<<<<<<<<<end "
				+ original.getClass().getName());
	}

	private static void logArrayIntTwoD(int[][] original) {
		System.out.println("<<<<<<<<<<<<<start "
				+ original.getClass().getName());
		for (int[] i : original) {
			for (int j : i) {
				System.out.println(j + " ");
			}
			
		}
		System.out.println("<<<<<<<<<<<<<end "
				+ original.getClass().getName());
	}

	private static void logArrayCharOneD(char[] original) {
		System.out.println("<<<<<<<<<<<<<start "
				+ original.getClass().getName());
		for (char c : original) {
			System.out.println(c + " ");
		}
		
		System.out.println("<<<<<<<<<<<<<end "
				+ original.getClass().getName());
	}

	private static void logArrayCharTwoD(char[][] original) {
		System.out.println("<<<<<<<<<<<<<start "
				+ original.getClass().getName());
		for (char[] c1 : original) {
			for (char c2 : c1) {
				System.out.print(c2 + " ");
			}
			System.out.println();
		}
		System.out.println("<<<<<<<<<<<<<end "
				+ original.getClass().getName());
	}

	private int checkArrayDimension(Object o) {
		/*
		 * 参数object 如果是[开头说明是 数组 在这个基础上面, 参数 ! object instanceof Object[]
		 * ,说明是一个原始类型的数组 Dimension表示数组合维度
		 */

		/*
		 * int i 不是对象 int[] i是数组对象
		 */
		String className = o.getClass().getName();
		System.out.println("<<<<<<<<<<<<<start " + className);

		if (!className.startsWith("[")) {
			// throw new Exception("Not Valid Array");
			System.out.println("Not Valid Array");
			System.exit(1);
		}

		int dimension = 0;

		while (className.charAt(dimension) == '[') {
			dimension++;
		}

		System.out.println("dimension  " + dimension);

		return dimension;
	}
}

 

分享到:
评论

相关推荐

    C语言中的数组和指针汇编代码分析实例

    今天看《程序员面试宝典》时偶然看到讲数组和指针的存取效率,闲着无聊,就自己写了段小代码,简单分析一下C语言背后的汇编,可能很多人只注重C语言,但在实际应用当中,当出现问题时,有时候还是通过分析汇编代码...

    数组的常用方法知识点归纳

    ### 数组的常用方法知识点归纳 ...这些方法能够帮助开发者更高效地处理数组数据,提高代码的可读性和维护性。理解并熟练掌握这些方法,对于前端开发工作来说是非常有帮助的。希望本文能够为你提供一定的参考价值。

    php代码-纯属上班无聊,敲敲代码

    本文将基于提供的标题“php代码-纯属上班无聊,敲敲代码”和描述,以及包含的文件“README.txt”和“main.php”,来探讨PHP编程的一些核心知识点。 1. **PHP简介** PHP(Hypertext Preprocessor,超文本预处理器)...

    C++操作DHTML表格对象的源代码

    一个操作DHTML表格的对象源代码,本演示代码试图通过包装对DHTML表格的操作使程序员从无聊的报表设计中解脱出来。主要有核心的两个模块组成:  模块名称:启程报表  采用HTML提供对表格形式的数据的显示,目前只...

    值得你看的C++27个趣味程序

    在给定的代码中,定义了一个名为`Search`的模板类,该类支持两种查找方法:递归实现的二分查找 (`seek`) 和顺序查找 (`seek1`)。在`Seek`类的构造函数中,接收一个数据序列和其长度,将其存储在类的成员变量中。`...

    无聊的C语言作业.zip

    "无聊的C语言作业"这个标题可能是在幽默地表达对作业的调侃,但实际上,C语言的学习和实践对于提升编程技能至关重要。这份作业可能是包含了一系列C语言的编程练习,旨在帮助学习者巩固基础知识,掌握核心概念。 ...

    RecordArray:Delphi 类型指针变得简单

    这将导致这个无聊的代码。 var pWordArray: PWord; begin pWordArray := GetMem(SizeOf(Word) * 10 ); // create 10 elements of Word try // Do something with the memory finally FreeMem(pWordArray); ...

    超级无聊的web扫雷

    JavaScript中的数组和循环可以用来存储和遍历雷区的状态,而条件语句(如if...else)则用于判断点击格子的行为。此外,事件监听器(event listeners)用于捕捉用户与游戏的交互,如鼠标点击。 在源码中,开发者可能...

    蓝桥杯个人笔记(java)

    - **解析**:上述代码中,`temp.split(" ")`会根据空格将字符串`temp`分割成一个字符串数组。通过索引`[0]`和`[1]`可以分别访问第一个和第二个字符串,然后利用`Integer.parseInt()`将字符串转换为整数。 #### 2. ...

    vb程序设计之无聊信息导入

    在VB(Visual Basic)编程环境中,我们经常需要处理与Excel相关的任务,比如“无聊信息导入”这个场景可能指的是从Excel文件中读取数据并导入到应用程序中。在VB中,可以利用Microsoft Excel Object Library来实现...

    记录下在学校无聊使用java开发的扫雷小游戏 仅供参考 就一个文件.zip

    1. **游戏网格**:游戏界面通常是一个二维数组,代表游戏区域。开发者可能使用二维数组来存储每个格子的状态,如是否为空、是否为雷或已被标记。 2. **雷的分布**:随机算法用于在网格上生成雷。开发者可能使用Java...

    c语言吃逗游戏源码

    1. **基本语法和数据类型**: C语言有多种基本数据类型,如int(整型)、char(字符型)和float(浮点型)。在这个游戏中,可能用到int来存储分数或状态,char可能用于表示游戏中的角色或符号。 2. **输入输出**:...

    使用C++实现的魔方阵

    1. 初始化矩阵:创建一个n×n的二维数组,用来存储魔方阵的元素。 2. 计算目标和:魔方阵的所有行、列、主对角线和副对角线的和应该相同,这个值可以通过公式n*(n^2+1)/2得到。 3. 填充矩阵:可以使用回溯法或者更...

    无聊的文档

    此外,Select对象还拥有标准属性,如`className`、`dir`、`lang`和`title`,分别用于设置或获取元素的CSS类名、文本方向、语言代码和提示信息。 Select对象的方法包括: - `add()`:向下拉列表添加一个新的Option...

    java自动解数独问题

    1、在网页上发现一个数独游戏,工作闲时无聊,写了一份代码用来解数独难题,测试下来容易的数独没啥问题,复杂的可能会遇到所有未知值的单元格都找不到唯一值的情况,需要假设值的无法解答。 2、思路: (1)定义...

    javaPC2048

    【描述】"最近无聊写的,不喜勿喷,新手可下载看看,请多多包涵"表明这是一个个人项目,可能是作者在空闲时间创作的,用于娱乐和学习目的。作者谦虚地表示对作品的评价持开放态度,鼓励初学者研究和学习。对于想要...

    php实习日记.pdf

    1. **代码调试与修复**:实习生在实习过程中发现了代码中的bug,如`getTopicInfo`函数的父子节点没有正确封装,数组多了一层。这涉及到代码的逻辑修正,等待原作者修复后继续编写代码。 2. **编码规范**:实习生...

Global site tag (gtag.js) - Google Analytics