java課本例題(java經典基礎編程題及其答案)

本文目錄一覽:

JAVA課本例題,編譯不出來,望高手解答。菜單實例。圖示如下

package com.esc.vender.vo;

import java.awt.FlowLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.ItemEvent;

import java.awt.event.ItemListener;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import javax.swing.JCheckBoxMenuItem;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPopupMenu;

import javax.swing.JRadioButtonMenuItem;

public class JMenuDemo {

JFrame Frame;

JMenuBar JMB;

JPopupMenu JPM;

JCheckBoxMenuItem mi5;

JRadioButtonMenuItem mi6;

public JMenuDemo() {

Frame = new JFrame(“Menu使用實例”);

JMB = new JMenuBar();

JMenu m1 = new JMenu(“File”);

JMenu m2 = new JMenu(“Edit”);

JMenu m3 = new JMenu(“Tool”);

JMenu m4 = new JMenu(“Help”);

JPM = new JPopupMenu();

JMenuItem mp1 = new JMenuItem(“Pop1…”);

JMenuItem mp2 = new JMenuItem(“Pop2…”);

JPM.add(mp1);

JPM.add(mp2);

JMB.add(m1);

JMB.add(m2);

JMB.add(m3);

JMB.add(m4);

JMenuItem mi1 = new JMenuItem(“New”);

JMenuItem mi2 = new JMenuItem(“Load”);

JMenuItem mi3 = new JMenuItem(“Save”);

JMenuItem mi4 = new JMenuItem(“Quit”);

JCheckBoxMenuItem mi5 = new JCheckBoxMenuItem(“Check”, true);

JRadioButtonMenuItem mi6 = new JRadioButtonMenuItem(“Radio”, true);

mi4.setMnemonic(‘Q’);

mi1.setActionCommand(“New”);

m1.add(mi1);

m1.add(mi2);

m1.add(mi3);

m1.add(mi4);

m1.addSeparator();

m1.add(mi5);

m1.add(mi6);

MenuListener myListener = new MenuListener();

mi1.addActionListener(myListener);

mi2.addActionListener(myListener);

mi3.addActionListener(myListener);

mi4.addActionListener(myListener);

mi5.addItemListener(new ItemListener() {

@Override

public void itemStateChanged(ItemEvent e) {

String state = “”;

if (e.getStateChange() == 2)

state = “未選中”;

else

state = “選中”;

Frame.setTitle(“Menu使用實例,你選擇了菜單Check:” + state);

}

});

mi6.addItemListener(new ItemListener() {

@Override

public void itemStateChanged(ItemEvent e) {

String state = “”;

if (e.getStateChange() == 2)

state = “未選中”;

else

state = “選中”;

}

});

Frame.addMouseListener(new MouseListener() {

public void mousePressed(MouseEvent e) // 60行

{

if (e.isPopupTrigger())

JPM.show(e.getComponent(), e.getX(), e.getY());

}

public void mouseReleased(MouseEvent e) {

mousePressed(e);

}

@Override

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseEntered(MouseEvent e) {

// TODO Auto-generated method stub

}

@Override

public void mouseExited(MouseEvent e) {

// TODO Auto-generated method stub

}

});

Frame.getContentPane().setLayout(new FlowLayout());

Frame.setJMenuBar(JMB);

Frame.setSize(300, 200);

Frame.setVisible(true);

}

class MenuListener implements ActionListener {

@Override

public void actionPerformed(ActionEvent e) {

if (e.getActionCommand().equals(“Quit”))

System.exit(0);

else

Frame.setTitle(“你選擇了菜單—” + e.getActionCommand());

}

}

public static void main(String[] args) {

JMenuDemo JMD = new JMenuDemo();

}

}

這樣就OK了

求Java基礎,練習題。

選擇題 (25道)

1. 下列選項中,不屬於Java語言特點的一項是( C )。

A:分布式 B:安全性 C:編譯執行 D:面向對象

2. Java語言的特點與 C/C+ +語言的比較中說法錯誤的是:( D )

A:簡單性Java繼承了 C/C+ +的語法 ,丟棄了其中不常用又容易引起混淆的功能。

B:Java是一種純面向對象的語言 ,具有封裝、繼承 ( Inheritance)和多態( Polymorphism)的特點。

C:Java應用程序可憑藉URL打開並訪問網絡上的對象。

D:解釋型Java寫成的源代碼需要被編譯成高階的字節碼 ,它們與機器架構有關。

3. 閱讀下列代碼,選出該代碼段正確的文件名( C )。

class A{

void method1(){

System.out.println(“Method1 in class A”);

}

}

public class B{

void method2(){

System.out.println(“Method2 in class B”);

}

public static void main(String[] args){

System.out.println(“main() in class B”);

}

}

A: A.java B:A.class C: B.java D: B.class

4. 如果一個類的文件名為Student.java,但是類的代碼為:

public class Student {

public static void main(String[] args) {

System.out.println(82);

}}

那麼下列說法正確的是:( B )

A:程序運行結果為8; B:程序運行結果為2;

C:程序運行結果為0; D:程序編譯錯誤,不能運行;

5. 符合對象和類的關係的是( D )。

A:教師和學生 B:書和房子

C:狗和貓 D:飛機和交通工具

6. 關於垃圾回收機制描述不正確的是( B )

A:垃圾回收機制不須通過程序員調用相應方法,也能自動啟動。

B:java程序員用System.gc()方法一定能進行垃圾回收;

C:垃圾回收機制屬於jvm自動操作,java程序員可以不進行垃圾回收操作。

D:垃圾回收機制並不是由操作系統自動執行。

7. 編譯下面源程序會得到哪些文件( D )?

class A1{

}

class A2 exdends A1{

}

public class B{

public static void main(String[] args){

}

}

A: 只有B.class文件 B:只有A1.class和A2.class文件

C: 編譯不成功 D:A1.class、A2.class和B.class文件

8. 下列關於基本數據類型的說法中,不正確的一項是( D )。

(A)boolean類型變量的值只能取真或假

(B)float是帶符號的32位浮點數

(C)double是帶符號的64位浮點數

(D)char是8位Unicode字符

9. 下列(D )是合法的標識符?

A:12class B:void C:-5 D:_blank

10. 在編寫Java程序時,如果不為類的成員變量定義初始值,Java會給出它們的默認值,下列說法中不正確的一個是( D )。

A:byte的默認值是0 B:boolean的默認值是false

C: char類型的默認值是’\0’ D: long類型的默認值是0.0L

11. 下列程序執行的結果是:( B )

public class News {

public static void main(String[] args) {

System.out.println(1+2+ “aa”+3);

}}

A: “12aa3” B: “3aa3 ” C: “12aa” D: “aa3”

12. 表達式(12==0) (1/0 1)的值為( B )。

A: true B: false C: 0 D: 運行時拋出異常

13. 下列循環體執行的次數是( C )。

int y=2, x=4;

while(–x != x/y){ }

A : 1 B: 2 C : 3 D : 4

14. 已知如下代碼:

switch(m){

case 0: System.out.println(“Condition 0”);

case 1: System.out.println(“Condition 1”);

case 2: System.out.println(“Condition 2”);

case 3: System.out.println(“Condition 3”);break;

default:System.out.println(“Other Condition”);

}

當m的值為( D )時,輸出“Condition 3”

(A)2 (B)0、1 (C)0、1、2 (D)0、1、2、3

15. 下列語句輸出的結果是:( C )

public class X3 {

public static void main(String[] args) {

for(int i=0; i10; i++){

if(i==5) break;

System.out.print(i);

}

}

}

A:編譯錯誤; B:1234;C:01234;D:12345;

16. 下列語句輸出的結果是:( D )

public class Lx1 {

public static void main(String[] args) {

for(int i=0;i5;i++){

switch(i){

case 0:System.out.print(“B”);

case 1:System.out.print(“e”);break;

case 2:System.out.print(“g”);

case 3:System.out.print(“!”);break;

case 4:System.out.print(“!”);break;

default:System.out.print(“!”);

}

}

}

}

A:Beg!!! B:Beeg! C:Beg! D:Beeg!!!

17. 下面foreach循環的程序輸出結果是( D )。

public class Lx1{

public static void main(String[] args) {

String s1[]={“歡迎您”,”3″,”G”,”同”,”學”,};

Arrays.sort(s1);

for(String s0:s1)

System.out.print (s0);

}

}

A:歡迎您3G同學 B:3G歡迎您同學 C:同學歡迎您3G D:3G同學歡迎您

18. 閱讀以下程序,選擇正確的運行結果:( B )

public class Lx1 {

public static void main(String[] args) {

byte d[]=”YOUIHE你我他”.getBytes();

String s=new String(d,6,2);

System.out.println(s);

}

}

A:HE; B:你; C:我; D:他

19. 設有下列數組定義語句:

int a[][]= {{1, 2}, {3}};

則對此語句的敘述正確的是( D )。

A: 定義了一個名為a的一維數組 B: a數組 a[1][1]為0

C: a數組元素的下標為1~3 D: 數組中每個元素的類型都是整數

20. 下列程序輸出的結果是:( B )

public class Lx1 {

public static void main(String[] args) {

String a[][] ={{“”,””,””,””},{“”},{“”,””}};

System.out.println(a[2].length);

}

}

A:1 B:2 C:3 D:4

21. 關於以下程序的說明,正確的是( C )

1. class StaticStuff

2. {

3. static int x=10;

4. static { x+=5;}

5. public static void main(String args[ ])

6. {

7. System.out.println(“x=” + x);

8. }

9. static { x/=3;}

10. }

A、4行與9行不能通過編譯,因為缺少方法名和返回類型

B、9行不能通過編譯,因為只能有一個靜態初始化器

C、編譯通過,執行結果為:x=5

D、編譯通過,執行結果為:x=3

22. 給出下面代碼,關於該程序以下哪個說法是正確的?( C )

public class Person{

static int arr[] = new int[5];

public static void main(String a[]) {

for(int i=0;i

System.out.print(arr[0]);

}

}

A、編譯時將產生錯誤 B、編譯時正確,運行時將產生錯誤 C、輸出零 D、輸出空

23. 下面程序中類ClassDemo中定義了一個靜態變量sum,分析程序段的輸出結果。( C )

class ClassDemo {

public static int sum=1;

public ClassDemo() {

sum = sum + 5;}

}

public class ClassDemoTest{

public static void main(String args[]) {

ClassDemo demo1=new ClassDemo();

ClassDemo demo2=new ClassDemo();

System.out.println(demo1.sum);}

}

A: 0 B: 6 C: 11 D: 2

24. 下面關於方法的說法,不正確的是( C )。

A: Java中的構造方法名必須和類名相同

B: 方法體是對方法的實現,包括變量聲明和合法語句

C: 如果一個類定義了構造方法,也可以用該類的默認構造方法

D: 類的私有方法不能被其他類直接訪問

25. 在Java中下列說法正確的是( C )

A) 一個子類可以有多個父類,一個父類也可以有多個子類

B) 一個子類可以有多個父類,但一個父類只可以有一個子類

C) 一個子類可以有一個父類,但一個父類可以有多個子類

D) 上述說法都不對

求救,JAVA課本上一例題

private KeyPad keypad=new KeyPad(this);

this是當前對象的引用,但是你是在對象的創建過程中去調用它了,它還沒有存在。所以出錯。

課本上的例題:testHello.java

你這做的是一個Applet,而不是一個含有main函數的java類,所以不能直接用java命令去執行,而是將編譯好的applet(java小程序)嵌套在html網頁里,然後用瀏覽器打開。

另外,java要求public類的名字必須和文件名相同,所以你的文件名應該叫Hello.java。

一道書上的java例題

在main方法里你new Sandwich(); 開始調用 Sandwich的構造方法,但是在這之前會先調用他父類的構造方法,也就是PortableLanch的,同理 再調用PortableLanch的構造方法之前會調用 Lunch的,…..所以最開始調用的是Meal的,這樣一層層下來,

Meal()

Lunch()

ProtableLunch()

完了以後開始構造Sandwich 開始實例話他的變量

Bread()

Cheese()

Lettuce()

最後

Sandwich()

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/235919.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 11:57
下一篇 2024-12-12 11:57

相關推薦

  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變量和數…

    編程 2025-04-29
  • 數據結構與算法基礎青島大學PPT解析

    本文將從多個方面對數據結構與算法基礎青島大學PPT進行詳細的闡述,包括數據類型、集合類型、排序算法、字符串匹配和動態規劃等內容。通過對這些內容的解析,讀者可以更好地了解數據結構與算…

    編程 2025-04-29
  • Python零基礎PDF下載

    本文將為大家介紹如何使用Python下載PDF文件,適合初學者上手實踐。 一、安裝必要的庫 在Python中,我們需要使用urllib和requests庫來獲取PDF文件的鏈接,並…

    編程 2025-04-29
  • 樹莓派DIY無人機一:製作基礎

    本文將介紹如何使用樹莓派製作一個可飛行的小型無人機。本文將介紹樹莓派的選型、比例積木的使用、無線電通信以及如何控制飛行器的基本運動。 一、樹莓派的選型 在DIY無人機中,樹莓派是必…

    編程 2025-04-29
  • OpenJudge答案1.6的C語言實現

    本文將從多個方面詳細闡述OpenJudge答案1.6在C語言中的實現方法,幫助初學者更好地學習和理解。 一、需求概述 OpenJudge答案1.6的要求是,輸入兩個整數a和b,輸出…

    編程 2025-04-29
  • Polyphone音頻編輯器基礎入門教程

    Polyphone是一款免費的音頻編輯器,可用於編輯.sf2和.sfz格式的音色庫。本文將詳細介紹Polyphone的基礎操作及使用方法。 一、安裝和簡介 首先,我們需要下載並安裝…

    編程 2025-04-29
  • 學堂雲Python語言程序設計答案

    學堂雲Python語言程序設計是一門重要的計算機專業課程。它涵蓋了Python語言及其應用,包括基礎語法、函數、文件處理、數據結構、圖形界面和網絡編程等內容。在學習中,我們經常會需…

    編程 2025-04-29
  • Python語言設計基礎第2版PDF

    Python語言設計基礎第2版PDF是一本介紹Python編程語言的經典教材。本篇文章將從多個方面對該教材進行詳細的闡述和介紹。 一、基礎知識 本教材中介紹了Python編程語言的…

    編程 2025-04-28
  • 南京郵電大學Python慕課答案

    本文將詳細闡述南京郵電大學Python慕課答案,為大家提供學習Python課程的參考。 一、應用範圍 Python是一種高級通用編程語言,應用範圍廣泛,包括Web開發、數據分析與科…

    編程 2025-04-28
  • Python基礎語言

    Python作為一種高級編程語言擁有簡潔優雅的語法。在本文中,我們將從多個方面探究Python基礎語言的特點以及使用技巧。 一、數據類型 Python基礎數據類型包括整數、浮點數、…

    編程 2025-04-28

發表回復

登錄後才能評論