实验二 数组与字符串及方法调用
二、上机内容
- 在有10个实型元素的数组中查找值为x的元素,找到则输出其下标,否则,输出“无此元素”。
- 对含有10个整型元素的数组进行选择排序,并输出升序排序的结果。
- 编写程序实现两个字符串变量比较大小,并输出比较结果。
- 编程实现Add方法的重载,并测试其调用的结果。
5.* 编程判断某数是否为完数。
(一个数如果恰好等于它的因子之和,这个数就称为“完数”,
例如:6的因子为1、2、3,而6=1+2+3,因此6是完数)
6*.回文数是一种正序和逆序产生的序列都相同的数字串,如12321,225522。编写程序,利用随机数循环产生5位数值,并判断它是不是回文,直到找到回文数程序结束。
第一题
/1. 在有10个实型元素的数组中查找值为x的元素,找到则输出其下标,否则,输出“无此元素”。
public class ArrayTest {
public static void main(String[] args) {
int[] array = {
1,5,8,9,20,60,77,80,90,100};
int index = binarySearch(array,60);
System.out.println(index == -1? "无此元素" : "该元素下标" + index);
}
/**
*
* @param array 被查找的数组
* @param dest 被查找的目标元素
* @return 返回-1表示该元素不存在,返回大于0的数字表示目标元素的下标
*/
private static int binarySearch(int[] array, int dest) {
//开始下标
int begin = 0;
//结束目标
int end = array.length - 1;
//中间元素的下标
while(begin <= end) {
int mid = (begin + end)/2;
if (array[mid] == dest) {
return mid;
} else if (array[mid] >= dest) {
end = mid - 1;
} else if (array[mid] <= dest) {
begin = mid + 1;
}
}
return -1