Java基础与⾯向对象实⽤⼩程序5
例5-1静态变量、private私有成员、同名不同作⽤域的局部变量的使⽤。import java.util.Scanner; class Gravity{ //重⼒类,提供计算重⼒的相关数据和计算公式static double g = 9.8; //重⼒加速度g static double getG(double m){ //计算重⼒,返回结果
return m*Gravity.g;
}
}
public class GravityTest{
public static void main(String[] args){
Scanner reader = new Scanner(System.in);
System.out.println("请输⼊质量值,以千克为单位");
double m = Double();
System.out.println("重⼒=质量*g");
System.out.println("当前重⼒加速度g的值是"+Gravity.g+"⽜顿/千克");
System.out.println(m+"千克质量会产⽣"+G(m)+"⽜顿重⼒");
}
}
例5-2 变量的作⽤域
class VarTest1{
public static void main(String[] s){
System.out.println("1到10的累加和是" + getSum(10) );
System.out.println("1到20的累加和是" + getSum(20) );
}
static int getSum(int n){
int i;
if(n<0)
return 0;
else{
int sum=0;
for(i=1;i<=n;i++)
sum+=i;
return sum;
}
}
}
例5-3 同名互不⼲扰的变量作⽤域
class VarTest2{
public static int max(int a, int b, int c){ //出最⼤值int m;
m = a>b?a:b;
m = m>c?m:c;
return m;
}
public static int min(int a, int b, int c){ //出最⼩值int m;
m = a
m = m
return m;
}
public static void main (String[] args){
int a ,b ,c ;
a = 10;
b = 15;
c = 7;
System.out.println("最⼤值是" + max(a,b,c) );
System.out.println("最⼩值是" + min(a,b,c) );
}
}
例5-4 同名局部变量对类变量的屏蔽
class VarTest3{
static int width; //类变量width
static int height; //类变量height
public static void main (String[] args){
width = 10; //给类变量width赋值为10
height = 20; //给类变量height赋值为20
int area = width * height;
System.out.println("使⽤类变量计算出的⾯积是" + area );
int width = 5, height = 7; //main⽅法的局部变量widht和height
area = width * height; //使⽤main⽅法⾃⼰的width和height
System.out.println("使⽤局部变量计算出的⾯积是" + area ); }
例5-5 私有权限修饰符private的使⽤
简单模仿银⾏卡系统,定义信⽤卡类CreditCard,包含私有成员卡号ID、密码password、帐户余额account。定义构造⽅法能够在创建对象的时候初始化成员变量。定义密码检验的⽅法checkPW( )(提⽰⽤户输⼊密码、检验,返回是否成功),定义
查询余额的⽅法getAccount( )(密码检验成功后⽅可显⽰余额),定义存款⽅法saveMoney(double m)、取款⽅法getMoney()。
在应⽤程序的main⽅法中测试该类的使⽤。
import java.util.Scanner;
class CreditCard{ //⾃定义信⽤卡类
private String ID; //私有成员卡号
private String password; //私有成员密码
private double account; //私有成员余额
CreditCard(String id, String pw, double acc){ //构造⽅法ID = id;
password = pw;
account = acc;
}
boolean checkPW(){ //检验密码⽅法
Scanner reader = new Scanner(System.in);
String pw;
System.out.println("请输⼊密码");
pw = ();
int i=0;
while(!(pw.equals(password))){
i++;
if(i>=3) //满三次机会仍不正确,取消输⼊资格
break;
System.out.println("对不起,您输⼊的密码不正确,请重新输⼊");
pw = ();
}
if(i>=3){
System.out.println("三次输⼊密码均错误,取消输⼊资格,"
+"请与银⾏联系。");
return false;
}
else
return true;
}
void getAccount(){ //查询余额⽅法
if(checkPW())
System.out.println("您账户⾥的余额是"+account+"元");
else
System.out.println("密码输⼊不正确,不能查询余额");
}
void saveMoney(double m){ //存钱⽅法
account += m;
System.out.println(m+"元已存⼊,您账户⾥现在的余额是"+account+"元"); }
void getMoney(){ //取钱⽅法
Scanner reader = new Scanner(System.in);
if(checkPW()){ //检查密码
System.out.println("请输⼊取出的钱数");
double m = Double();
if(account>=m){ //余额充⾜则取钱
account -= m;
System.out.println(m+"元已取出,您账户⾥现在的余额是"
+account+"元");
}
else //余额不⾜则提⽰
System.out.println("余额不⾜,不能取出"+m+"元");
}
else //密码错误则提⽰
System.out.println("密码输⼊不正确,不能存钱");
}
}
有趣的java小程序public class CreditCardTest{
public static void main (String[] args){
CreditCard card = new CreditCard("1001","123456",1000);
System.out.println("请选择操作:1. 存钱 2.取钱 3.查询余额");
Scanner reader = new Scanner(System.in);
int choice = Int();
if( choice == 1 ){
System.out.println("请输⼊存⼊的钱数");
double m = Double();
card.saveMoney(m);
}
else if( choice == 2 )
else if( choice == 3 )
else
System.out.println("⽆此选项,操作结束");
}
}
例5-6 类的静态成员变量
class Person { //⾃定义Person类
String name ; //普通成员变量name
char sex; //普通成员变量sex
static int count; //静态成员变量count
Person(String n, char s){ //构造⽅法
name = n;
sex = s;
count++; //⼈数增加1
}
}
public class PersonTest {
public static void main(String[] args) {
Person p1 = new Person("Tom",'M');
Person p2 = new Person("Mike",'M');
Person p3 = new Person("Mary",'F');
System.out.println("现在共有"+unt+"个⼈");
}
}
例5-7 静态⽅法的使⽤
class Student { //⾃定义学⽣类Student
int num; //学号
String name ; //姓名
int score; //成绩
static int sum; //静态成员变量总成绩
static int count; //静态成员变量总⼈数
Student(int number,String n, int s){ //构造⽅法num = number;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。