作业,杨辉三角,数组复制

本文详细介绍了如何使用Java编程语言实现杨辉三角,包括换行和空格的输出技巧,二维数组的遍历与计算,以及字符串拼接和数组操作的最佳实践。通过实例展示了如何正确处理数组复制、数组反转以及二分查找等常见操作。
摘要由CSDN通过智能技术生成

杨辉三角

1.输出换行和空格
  1. System.out.println(); 换行
  2. System.out.print(“ ”);空格
2.遍历
	for (int i = 0; i < yanghui.length; i++) {
			for (int j = 0; j < yanghui[i].length; j++) {
				
			}
		}

j小于一维数组的长度

3.遍历范围
	for (int i = 0; i < yanghui.length; i++) {
			for (int j = 1; j < yanghui[i].length - 1; j++) {
				yanghui[i][j] = yanghui[i - 1][j - 1] + yanghui[i - 1][j];
			}
		}

为了输出杨辉三角,需要遍历从第二列开始的(j=1),到倒数第二列(yanghui[i].length-1)

数组复制

1.字符串的拼接

System.out.print(array1[i]+“\t”); 正确
System.out.print(array1[i]+‘\t’); 错误
可以拼接String不能Char

2.巧用length

array2 = new int[8];
array2 = new int[array1.length];

数组反转

1.for循环
for (int i = 0, j = arr.length - 1; i < j; i++, j--) {
			String temp = arr[i];
			arr[i] = arr[j];
			arr[j] = temp;
		}

首先确定ij的起始值,循环条件只能有一个。

二分法查找

1.数组下标和值搞混
	System.out.println();
		int arr2[] = new int[] { -98, -34, 2, 34, 54, 66, 79, 105, 210, 333 };
		int dest1 = 34;

		int low = 0;
		int high = arr2.length - 1;
	
	boolean isFlag1 = true;
		while (low <= high) {	
			int mid = (low + high) / 2;
			if (dest1 == arr2[mid]) {
				System.out.println("找到了,在第" + mid + "位置");
				isFlag1 = false;
				break;
			} else if (dest1 > arr2[mid]) {
				low = mid + 1;
			} else {
				high = mid - 1;
			}
		}

		if (isFlag1) {
			System.out.println("没找到");
		}

arr2[mid]正确
mid 错误

2.标记逻辑很乱

boolean isFlag1 = true; 默认为true

3.mid的作用

需要用mid来确定坐标,因此需要随着循环修改,需要放进循环内

4.while

需要while循环来操作low和high,而非普通的遍历

冒泡排序

1.遍历容易错的地方
for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i] + "\t");
		}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值