工具/原料
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)蜀山,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):028-86922220
電腦
Eclipse
·1?第一步:打開編譯器然后再點(diǎn)開一個(gè)java文件。
2第二步:在文件里右擊鼠標(biāo),然后再選擇Preferences。
3第三步:而后再Preferences里選擇java
4第四步:再選擇Editor,再選擇Content Assist
5 第五步:再在所圈出的地方設(shè)置時(shí)間(200)和字母(.ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz),而后點(diǎn)擊ok即可。
樓主,依題意,完整的程序如下:
import java.awt.FlowLayout;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
public class Exam2 extends Thread implements ActionListener
{
//聲明界面元素
private JFrame timeFrame;
private JButton startButton;
private JButton stopButton;
private JButton resetButton;
private JLabel timeLabel;
//定義變量存儲(chǔ)時(shí)、分、秒
int hour = 0;
int minute = 0;
int second = 0;
//聲明線程對象
Thread myThread;
public Exam2()
{
timeFrame = new JFrame("計(jì)時(shí)器");
startButton = new JButton("開始");
stopButton = new JButton("停止");
resetButton = new JButton("重置");
timeLabel = new JLabel("00:00:00");
timeFrame.setLayout(new FlowLayout());
timeFrame.setBounds((Toolkit.getDefaultToolkit().getScreenSize().width - 300)/2,
(Toolkit.getDefaultToolkit().getScreenSize().height - 200)/2, 300, 200);
timeFrame.add(timeLabel);
timeFrame.add(startButton);
timeFrame.add(stopButton);
timeFrame.add(resetButton);
timeFrame.setVisible(true);
timeFrame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
startButton.addActionListener(this);
stopButton.addActionListener(this);
resetButton.addActionListener(this);
myThread = this;
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == this.startButton)
{
System.out.println("計(jì)時(shí)開始...");
if(this.start)
{
this.myThread.start();
}
else
{
this.start = true;
}
}
if(e.getSource() == this.stopButton)
{
System.out.println("計(jì)時(shí)停止...");
this.start = false;
}
if(e.getSource() == this.resetButton)
{
hour = 0;
minute = 0;
second = 0;
}
}
volatile boolean start = true;
@Override
public void run()
{
while(true)
{
if(this.start)
{
second++;
try
{
Thread.sleep(1000);
} catch (InterruptedException e)
{
e.printStackTrace();
}
if(second = 60)
{
second = 0;
minute++;
}
if(minute = 60)
{
minute = 0;
hour++;
}
showTime();
}
}
}
private void showTime()
{
String strTime = "";
if(hour 10)
{
strTime += "0"+hour + ":";
}
else
{
strTime += hour + ":";
}
if(minute 10)
{
strTime += "0"+minute + ":";
}
else
{
strTime += minute + ":";
}
if(second 10)
{
strTime += "0"+second;
}
else
{
strTime += second;
}
this.timeLabel.setText(strTime);
}
public static void main(String[] args)
{
new Exam2();
}
}
有問題歡迎提問,滿意請采納,謝謝!
package xinguan;
abstract class Operation{ //抽象類
public static double numberA= 0;
public static double numberB = 0;
abstract double getResult(); //抽象方法
}
class OperationADD extends Operation{
@Override
double getResult() {
return numberA+numberB;
}
}
class OperationSUB extends Operation{
@Override
double getResult() {
return numberA-numberB;
}
}
class OperationMUL extends Operation{
@Override
double getResult() {
return numberA*numberB;
}
}
class OperationDIV extends Operation{
@Override
double getResult() {
return numberA/numberB;
}
}
class OperationFactory{
public static Operation createOperate(char operate){
Operation oper = null;
switch (operate){
case'+':
oper= new OperationADD();
break;
case'-':
oper= new OperationSUB();
break;
case'*':
oper= new OperationMUL();
break;
case'/':
oper= new OperationDIV();
break;
}
return oper;
}
}
public class CalculateDemo {
/**
* @param args
*/
public static void main(String[] args) {
Operation operADD = OperationFactory.createOperate('+');
Operation operSUB = OperationFactory.createOperate('-');
Operation operMUL = OperationFactory.createOperate('*');
Operation operDIV = OperationFactory.createOperate('/');
operADD.numberA = 15.0;
operADD.numberB = 3;
System.out.println(operADD.getResult());
System.out.println(operSUB.getResult());
System.out.println(operMUL.getResult());
System.out.println(operDIV.getResult());
}
}
因?yàn)槌橄箢愂庆o態(tài)方法 所以 給operADD 那個(gè)對象賦值一次就能獲得所有結(jié)果。要是去掉static 那么就需要每個(gè)對象 賦值?,F(xiàn)在基本滿足你的要求了。
public class ___ArrayUtil___{
public static void _printReversely(String a[])___{
for(int i=___ a.length___ ; i0; i++){//這里不是i++吧,應(yīng)該是i--
System.out.println(__a[i-1]____);
}
}
}
寫完ArrayUtil類后,若要在同一個(gè)包中的Decoder類中使用ArrayUtil類中的數(shù)組元素倒序打印函數(shù),打印數(shù)組{1,2,3,4,5},則正確的調(diào)用方式為():
public class Decoder{
public static void main(String args[]){
int a[]={1,2,3,,4,5}
____ArrayUtil.printReversely(a)__________;
}
}