本文目錄一覽:
- 1、寫了一個java swing的飛機大戰,但是碰撞檢測獲取坐標的地方出現了錯誤,求大神幫忙
- 2、java飛機大戰求實現讓敵機打子彈的方法
- 3、java窗體飛機大戰兩張背景圖片滾動循環如何實現,代碼
- 4、飛機大戰的簡單代碼(java)
寫了一個java swing的飛機大戰,但是碰撞檢測獲取坐標的地方出現了錯誤,求大神幫忙
你好!很高興為你回答問題。
首先,請原諒我指出你的錯誤。
錯誤一:int a[] =Integer.parseInt(jta.getText());
錯處:從jta獲取字元串後,轉換為整數,乃1個數,用數組存放可以,但不能像你這樣寫,你這樣寫是將一個整形數組初始化為一個整數。所以錯。。。
錯誤二:jtf.append(String.valueOf(max));
錯處:JTextField沒有append方法,無中生有。所以錯。。。
錯誤三:思路錯
錯處:將文本域中獲取的幾個數字,不加處理則提取其中數字作為整數數組,是不行的
修正如下:(在文本框中輸入幾個數字,請用空格隔開,有問題請追問)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Exam3_7 {
public static void main(String[] args) {
FrameText ft = new FrameText();
ft.setVisible(true);
}
}
class FrameText extends JFrame implements ActionListener {
JTextField jtf;
JTextArea jta;
JButton jbt, jbt1;
FrameText() {
super(“輸出最大數和最小數的程序”);
Container con = getContentPane();
con.setLayout(new FlowLayout());
jta = new JTextArea(“”, 5, 10);
jtf = new JTextField(5);
jbt = new JButton(“獲取最大數”);
jbt1 = new JButton(“獲取最小數”);
jbt.addActionListener(this);
jbt1.addActionListener(this);
con.add(jta);
con.add(jtf);
con.add(jbt);
con.add(jbt1);
setSize(300, 300);
}
public void actionPerformed(ActionEvent e) {
String[] input = jta.getText().split(” “);
int[] a = new int[input.length];
for (int i = 0; i input.length; i++) {
a[i] = Integer.parseInt(input[i]);
}
if (e.getSource() == jbt) {
int max = a[0];
for (int j = 1; j a.length; j++) {
if (a[j] max) {
max = a[j];
}
}
jtf.setText(String.valueOf(max));
}
if (e.getSource() == jbt1) {
int min = a[0];
for (int j = 1; j a.length; j++) {
if (a[j] min) {
min = a[j];
}
}
jtf.setText(String.valueOf(min));
}
}
}
java飛機大戰求實現讓敵機打子彈的方法
首先創建四個類,敵機和英雄機子彈類,敵機類,英雄機類,類中定義各自的橫豎x y坐標屬性,值得注意的是,在寫構造的時候,子彈的構造需要傳入參數,因為子彈英雄機和敵機發出來的嘛。再定義兩種子彈移動方法。移動方法很好寫,子彈垂直方向發,x——就行了。再在main中調用就行了
java窗體飛機大戰兩張背景圖片滾動循環如何實現,代碼
package Task1;
//首先要調用需要的包
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class myFrame extends Frame //窗體類,繼承Frame
{
CardLayout cl=new CardLayout(); //定義卡片布局
public void initial() //創建一個窗體
{
this.setBounds(500, 300, 300, 200); //窗體的大小和坐標
this.setTitle(“圖片自動瀏覽”); //窗體主題
this.setLayout(cl); //窗體採用的布局方式,上面已經定義了卡片布局,所以這裡直接調用即可
this.setVisible(true); //顯示窗體
JButton[] jbtn=new JButton[4]; //創建添加圖片的數組,有幾張圖,數據成員就有幾個
for(int i=0;i4;i++) //我這裡是用循環來添加圖片,所以上面要創建數組,當然分開一個一個的添加圖片也是可以的
{
jbtn[i]=new JButton();
jbtn[i].setIcon(new ImageIcon(“c://”+i+”.jpg”)); //這是所要添加圖片的地址
this.add(jbtn[i],i+””); //顯示
}
while(true) //關鍵的時候到了,如何讓圖片滾動循環,我這裡是用了while循環來寫的
{
cl.next(this); //圖片的切換,下一張
try{Thread.sleep(3000);} //切換的間隔時間為3秒,也就是3000毫秒
catch(Exception e){}
}
}
public myFrame() //這是固定方法,窗體程序必須寫,少了它整個程序完蛋,所以不多做解釋
{
initial();
}
}
public class Test { //Test類,我這裡是專門寫主函數的
public static void main(String[] args) //主函數main
{
myFrame mf=new myFrame(); //實例化調用窗體類myFrame
}
}
ok,完成。程序複製過去以後可能會報錯,並不是我寫錯了,我的有些包名或者類名還有大括弧可能與你的不符合,你需要把細節方面的東西再做調試一下,然後在運行。
望採納?謝謝!
飛機大戰的簡單代碼(java)
public class Plane{
public static void main(String[] args){
System.out.print(“飛機正在起飛.請稍後……”);
System.out.print(“情況緊急,飛機沒油了,請加油…….”);
System.out.print(“你的飛機墜落了,大戰結束…….”);
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/286700.html