数组排序
ArrayUtil.java
package com.klvchen.java1;
public class ArrayUtil {
//求数组的最大值
public static int getMax(int[] arr) {
int maxValue = arr[0];
for (int i = 1; i < arr.length; i++) {
if (maxValue < arr[i]) {
maxValue = arr[i];
}
}
return maxValue;
}
//求数组最小的值
public static int getMin(int[] arr) {
int minValue = arr[0];
for(int i = 1; i < arr.length; i++) {
if (minValue > arr[i]) {
minValue = arr[i];
}
}
return minValue;
}
//求数组的总和
public static int getSum(int[] arr) {
int sum = 0;
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
return sum;
}
//求数组的平均值
public static int getAvg(int[] arr) {
return getSum(arr) / arr.length;
}
//反转数组
public static void reverse(int[] arr) {
for(int i = 0; i< arr.length/2; i++) {
int temp = arr[i];
arr[i] = arr[arr.length -i -1];
arr[arr.length -i -1] = temp;
}
}
//复制数组
public static int[] copy(int[] arr) {
int[] arr1 = new int[arr.length];
for (int i = 0; i < arr1.length; i++) {
arr1[i] = arr[i];
}
return arr1;
}
//数组排序
public static void sort(int[] arr) {
for(int i = 0; i< arr.length - 1; i++) {
for(int j = 0; j < arr.length -1 -i; j++) {
if(arr[j] > arr[j + 1]) {
swap(arr, j , j + 1);
}
}
}
}
//交换数组中指定两个位置元素的值
private static void swap(int[] arr, int i, int j) {
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
//遍历数组
public static void print(int[] arr) {
for (int i = 0; i< arr.length; i++) {
System.out.println(arr[i] + " ");
}
System.out.println();
}
//查找指定元素
public static int getIndex(int[] arr, int dest) {
//线性查找:
for(int i = 0; i < arr.length; i++) {
if(dest == arr[i]) {
return i;
}
}
return -1;
}
}
ArrayUtilTest.java
package com.klvchen.java1;
public class ArrayUtilTest {
public static void main(String[] args) {
int[] arr = new int[] {32, 34, 32, 5, 3, 54,654,-98, 0, -53, 5};
int max = ArrayUtil.getMax(arr);
System.out.println("最大值为: " + max);
System.out.println("排序前为: ");
ArrayUtil.print(arr);
ArrayUtil.sort(arr);
System.out.println("排序前后: ");
ArrayUtil.print(arr);
}
}
创建圆
package com.klvchen.java1;
public class CircleTest {
public static void main(String[] args) {
Circle c1 = new Circle();
Circle c2 = new Circle();
Circle c3 = new Circle(3.14);
System.out.println("c1的id: " + c1.getId());
System.out.println("c2的id: " + c2.getId());
System.out.println("c3的id: " + c3.getId());
System.out.println("创建的圆的个数为: " + Circle.getTotal());
}
}
class Circle{
private double radius;
private int id; //自动赋值
private static int total; //记录创建圆的个数
private static int init = 1001; //static声明的属性被所有对象所共享
public Circle() {
id = init++;
total++;
}
public Circle(double radius) {
this();
this.radius = radius;
}
public double findArea() {
return 3.14 * radius * radius;
}
public double getRadius() {
return radius;
}
public static int getTotal() {
return total;
}
public void setRadius(double radius) {
this.radius = radius;
}
public int getId() {
return id;
}
}
银行账号
编写一个类实现银行账户的概念,包含的属性有"帐号”、“密码”、“存款余额”、“利率”、“最小余额”,定义封装这些属性的方法。账号要自动生成。
编写主类,使用银行账户类,输入、输出3个储户的上述信息。考虑:哪些属性可以设计成static属性。
Account.java
package com.klvchen.java1;
public class Account {
private int id;
private String pwd = "000000";
private double balance;
private static double interestRate;
private static double minMoney = 1.0;
private static int init = 1001; //用于自动生成id使用的
public Account() {
super();
}
public Account(String pwd, double balance) {
super();
this.pwd = pwd;
this.balance = balance;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
public static double getInterestRate() {
return interestRate;
}
public static void setInterestRate(double interestRate) {
Account.interestRate = interestRate;
}
public static double getMinMoney() {
return minMoney;
}
public static void setMinMoney(double minMoney) {
Account.minMoney = minMoney;
}
public int getId() {
return id;
}
public double getBalance() {
return balance;
}
}
AccountTest.java
package com.klvchen.java1;
public class AccountTest {
public static void main(String[] args) {
Account acct1 = new Account();
Account acct2 = new Account("qwerty", 2000);
Account.setInterestRate(0.012);
Account.setMinMoney(100);
System.out.println(acct1);
System.out.println(acct2);
System.out.println(acct1.getInterestRate());
System.out.println(acct1.getMinMoney());
}
}