一、上机目的
1.掌握JAVA数组的定义及使用方法。
2.掌握JAVA字符串的定义及使用方法
3.掌握JAVA方法的定义及调用方法。
二、上机内容
1. 对含有10个整型元素的数组进行选择排序,并输出升序排序的结果。
public class SelectSort {
public static void main(String[] args) {
int[] array = {3,1,2,6,5,-9,0,335,76,23};
for (int i = 0; i < array.length - 1; i++) {
int min = i;
for (int j = i + 1; j < array.length; j++) {
if(array[min] > array[j]){
min = j;
}
}
if (i != min){
int temp = array[i];
array[i] = array[min];
array[min] = temp;
}
}
for (int i = 0; i < array.length; i++) {
System.out.print(array[i]+" ");
}
}
}
2. 编写程序实现两个字符串变量比较大小,并输出比较结果。
import java.util.*;
public class StrCompare {
public static void main(String[] args) {
// TODO Auto-generated method stub
String str1,str2;
Scanner in=new Scanner(System.in);
System.out.print("请输入第一个字符串:");
str1=in.nextLine();
System.out.print("请输入第二个字符串:");
str2=in.nextLine();
int result;
result=str1.compareTo(str2);
if(result==0) {
System.out.println("一样大");
}else if(result>0) {
System.out.println("第一个大,差值为"+result);
}else {
System.out.println("第二个大,差值为"+result);
}
in.close();
}
}
3. 编程实现Add方法的重载,并测试其调用的结果。
public class Add {
public static void main(String[] args) {
//int类型的add
System.out.println(add(10,20));
//Long类型的add
System.out.println(add(10L,20L));
//float类型的add
System.out.println(add(10.0F,20.0F));
//double类型的add
System.out.println(add(10.0,20.0));
}
public static int add(int a ,int b){
return a+b;
}
public static long add(long a ,long b){
return a+b;
}
public static float add(float a ,float b){
return a+b;
}
private static double add(double a, double b){
return a+b;
}
}
4. 编程判断某数是否为完数。
(一个数如果恰好等于它的因子之和,这个数就称为“完数”,
例如:6的因子为1、2、3,而6=1+2+3,因此6是完数)
import java.util.Scanner;
public class PerfectNumber {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
System.out.println("请输入一个数:");
int num1=in.nextInt();
System.out.println(isPerfectNumber(num1) ?"是完数" : "不是完数");
}
public static boolean isPerfectNumber(int num){
int sum = 0;
for (int i = 1 ; i <= (num / 2) ; i++){
if (num % i ==0){
sum += i;
}
}
return sum==num ? true:false;
}
}
5.回文数是一种正序和逆序产生的序列都相同的数字串,如12321,225522。编写程序,利用随机数循环产生5位数值,并判断它是不是回文,直到找到回文数程序结束。
import java.util.Random;
public class ArrayTest {
public static void main(String[] args) {
Random random =new Random();
int num =0;
do {
num = 0;
for (int i = 1 ;i<=10000;i *=10){
num += random.nextInt(10) * i;
}
}while (!isHuiWen(num));
System.out.println(num + "是回文数");
}
public static boolean isHuiWen(int num){
int sum = 0;
int result = num;
while (num > 0){
//取出个位
sum += num%10;
sum *=10;
num /=10;
}
sum/=10;
return (sum == result);
}
}



