资源描述
第二次
1.
上机运行以下程序,写出程序运行结果。
public class UsePhoneCard
{
public static void main(String args[])
{
PhoneCard myCard = new PhoneCard(12345678,1234,50.0,"300");
System.out.println(myCard.toString());
}
}
class PhoneCard
{
long cardNumber;
private int password;
double balance;
String connectNumber;
boolean connected;
PhoneCard(long cn, int pw, double b,String s)
{
cardNumber = cn;
password = pw;
if ( b > 0 )
balance = b;
else
System.exit(1);
connectNumber = s;
connected = false;
}
boolean performConnection(long cn,int pw)
{
if(cn == cardNumber && pw == password )
{
connected = true;
return true;
}
else
{
connected = false;
return false;
}
}
double getBalance()
{
if(connected)
return balance;
else
return -1;
}
void performDial()
{
if(connected)
balance -= 0.5;
}
public String toString()
{
String s = "电话卡接入号码:"+connectNumber
+"\n电话卡卡号:"+cardNumber
+"\n电话卡密码:"+password
+"\n剩余金额:"+balance;
if(connected)
return (s + "\n电话已接通。");
else
return (s + "\n电话未接通。");
}
}
运行结果:
电话卡接入号码:300
电话卡卡号:12345678
电话卡密码:1234
剩余金额:50.0
电话未接通。
2.
上机运行以下程序,写出程序运行结果。
public class TestStatic
{
public static void main(String args[])
{
PhoneCard200 my200_1 = new PhoneCard200();
PhoneCard200 my200_2 = new PhoneCard200();
System.out.println("第一张200卡的卡号:"+my200_1.cardNumber);
System.out.println("第二张200卡的卡号:"+my200_2.cardNumber);
}
}
class PhoneCard200
{
static long nextCardNumber;
static String connectNumber = "200";
static double additoryFee;
long cardNumber ;
int password;
boolean connected;
double balance;
static
{
nextCardNumber = 2001800001;
}
PhoneCard200()
{
cardNumber = nextCardNumber++;
}
}
运行结果:
第一张200卡的卡号:2001800001
第二张200卡的卡号:2001800002
3.
上机运行以下程序,写出程序运行结果。
public class TestAbstract
{
public static void main(String args[])
{
PhoneCard200 my200 = new PhoneCard200(50.0);
IC_Card myIC = new IC_Card(50.0);
System.out.println("200卡可以拨打 "+my200.TimeLeft()+" 次电话。");
System.out.println("IC 卡可以拨打 "+myIC.TimeLeft()+" 次电话。");
}
}
abstract class PhoneCard
{
double balance;
abstract void performDial();
double TimeLeft()
{
double current = balance;
int times = 0;
do
{
performDial();
times++;
}while(balance>=0);
balance = current;
return times-1;
}
}
class PhoneCard200 extends PhoneCard
{
static long nextCardNumber;
static final String connectNumber = "200";
static double additoryFee;
long cardNumber ;
int password;
boolean connected;
static
{
nextCardNumber = 2001800001;
additoryFee = 0.1;
}
PhoneCard200(double ib)
{
cardNumber = nextCardNumber++;
balance = ib;
}
void performDial()
{
balance -= 0.5+additoryFee;
}
}
class IC_Card extends PhoneCard
{
IC_Card(double ib)
{
balance = ib;
}
void performDial()
{
balance -= 0.9;
}
}
运行结果:
200卡可以拨打 83.0 次电话。
IC 卡可以拨打 55.0 次电话。
4.
以下程序的功能是比较三个整数并输出其中的最大值,请将程序补充完整。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class FindMax extends Applet implements ActionListener
{
Label result;
TextField in1,in2,in3;
Button btn;
int a=0,b=0,c=0,max;
public void init()
{
result = new Label("请先输入三个待比较的整数");
in1 = new TextField(5);
in2 = new TextField(5);
in3 = new TextField(5);
btn = new Button("比较");
add(in1);
add(in2);
add(in3);
add(btn);
add(result);
btn.addActionListener(this);
}
public void actionPerformed(ActionEvent e)
{
a = Integer.parseInt(in1.getText());
b = Integer.parseInt(in2.getText());
c = Integer.parseInt(in3.getText());
//请填入语句
result.setText("三数中最大值是:"+ max );
}
}
运行结果:
if(a>b)
{if(a>c)
max = a;
else max = c; }
else if(b>c)
max = b;
else max = c;
5.
阅读以下程序,写出程序功能。
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class UseArithmetic extends Applet implements ActionListener
{
Label prompt;
TextField input1,input2;
Button btn;
int a=0,b=1;
public void init()
{
prompt = new Label("请输入两个整型数据:");
input1 = new TextField(5);
input2 = new TextField(5);
btn = new Button("计算");
add(prompt);
add(input1);
add(input2);
add(btn);
btn.addActionListener(this);
}
public void paint(Graphics g)
{
g.drawString(a + " + " + b + " = " + (a+b),10,50);
g.drawString(a + " - " + b + " = " + (a-b),10,70);
g.drawString(a + " * " + b + " = " + (a*b),10,90);
g.drawString(a + " / " + b + " = " + (a/b),10,110);
g.drawString(a + " % " + b + " = " + (a%b),10,130);
}
public void actionPerformed(ActionEvent e)
{
a = Integer.parseInt(input1.getText());
b = Integer.parseInt(input2.getText());
repaint();
}
}
运行结果:
输入两个整数,输出两个整数的加,减,乘、除和求余数的结果。
展开阅读全文