如果要求一个线性表既能较快地查找,又能适应动态变化的要求,则可采用的方法是( )。
本题的功能是监听鼠标的操作。鼠标置于窗口中单击时(左键或右键),在单击的地方会画一个小矩形,如果将鼠标置于小矩形上,则鼠标光标状态改为小十字,按下鼠标左键可拖曳,双击鼠标左键(或右键)时,小矩形消失。
import java.awt.*;
import java.awt.event.*;
import java.util.*;
import java.awt.geom.*;
import javax.swing.*;
public class java3
{
public static void main(String[]args)
{
MouseFrame. frame=new MouseFrame:
frame.setDefaultCloseOperation(JFrame.EXIT_
oN_CLOSE);
frame.show;
}
}
class MouseFrame. extends JFrame
{
public MouseFrame
{
setTitle("java3");
setSize(DEFAULT WIDTH, DEFAULT
HEIGHT):
MousePanel panel=new MousePanel;
Container contentPane=getContentPane;
contentPane.add(panel);
}
public static final int DEFAULT_WIDTH=300;
public static final int DEFAULT_HEIGHT=200;
}
class MousePanel extends JPanel
{
public MousePanel
{
squares=new ArrayList;
current=null:
addMouseListener(new MouseHandler);
addMouseMotionListener(new MouseMotionHan-
dler);
}
public void paintComponent(Graphics g)
{
super.paintComponent(g);
Graphics2D g2=(Graphics2D)g;
for(int i=0;i g2.draw((Rectangle2D)squares.get(i)); } public void find(Point2D p) { for(int i=0;i { Rectangle2D r=(Rectangle2D)squares.get(i); if(r.contains(p))return r; } return null: } public void add(Point2D p) { double x=P.getX; double Y=P.getY: current=new Rectangle2D.Double( x-SIDELENGTH/2. y-SlDELENGTH/2. S1DELENGTH, SIDELENGTH); squares.add(current); repaint; } public void remove(Rectangle2D s) { if(S= =null)return: if(S= =current)current=null; squares.remove(s): repaint; } private static final int SIDELENGTH=10: private ArrayList squares; private Rectangle2D current; private class MouseHandter extends MouseAction- Listener { public void mousePressed(MouseEvent event) { current=find(event.getPoint); if(current= =null) add(event.getPoint); } public void mouseClicked(MouseEvent event) { current=find(event.getPoint); if(current!=nullevent.getClickCount >=2) remove(current); } } private class MouseMotionHandler implements Mouse- MotionListener { public void mouseMoved(MouseEvent event) { if(find(event.getPoint)= =null) setCursor(Cursor.getDefaultCursor); else setCursor(Cursor.getPredefinedCursor (Cursor.CROSSHAIR_CURSOR)); } public void mouseDragged(MouseEvent event) { if(current!=null) { int x=event.getX: int Y=event.getY; 、 current.setFrame( x-SIDELENGTH/2, Y-SlDELENGTH/2. SIDELENGTH, SIDELENGTH); repaint; } } } }
本题的功能是用流式布局管理器来管理窗口中的按钮。在执行程序时指定生成按钮的个数,并把这些按钮都放置在流式布局管理器的窗口中。
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class java2
{
public static void main(String[]args)
{
if(args.length!=1)
{
System.out.println("请指定按钮的个数");
System.exit(0);
}
String buttonString=args[O];
int buttonNumber= ;
ButtonFrame. frame=new ButtonFrame(button-
Number);
frame.setDefaultCloseOperation(JFrame.EXIT_
ON_CLoSE);
frame.show;
}
}
class ButtonFrame. extends JFrame
{
public ButtonFrame( )
{
buttons=buttonNumber:
setTitle("java2");
setSize(WIDTH,HEIGHT);
JPanel buttonPanel=new JPanel;
for(int i=0;i{
JButton addButton=new JButton("add"+i):
buttonPanel.add(addButton);
Container contentPane=getContentPane;
contentPane.add(buttonPanel);
}
public static final int WIDTH=350;
public static final int HEIGHT=200:
private int buttons;
}
本题提示输入年份,然后判断该年份是否为闰年。
importjava.io.*;
public class javal{
public static void main(String[]args){
InputStreamReader ir;
BufferedReader in;
ir=new InputStreamReader(System.in);
in=new BufferedReader(ir);
int year=1900;
System.out.print("请输入年份:");
try{
String s=in.readLine;
;
} (Exception e){
}
if( )
System.OUt.println(year+"是闰年");
else
System.out.println(year+"不是闰年");
}
}
下列选项中,与成员变量共同构成一个类的是( )。
软件生命周期可分为定义阶段、开发阶段和维护阶段。详细设计属于( )。
下列选项中属于Java语言的垃圾回收机制的一项是( )。
下列数中为八进制的是( )。
数据库设计中反映用户对数据要求的模式是( )。
下列叙述中正确的是( )。
按层次次序将一棵有n-个结点的完全二叉树的所有结点从1~n编号,当i≤n/2时,编号为i的结点的左子树的编号是( )。
高级经济师考试试题精选练习(1)
高级经济师考试模拟练习题之单选题(1
高级经济师考试试题精选练习(2)
高级经济师考试试题精选练习(3)
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟试题及答案
高级经济师考试试题及答案:单选练习题
高级经济师考试试题:经济法案例试题精
高级经济师考试模拟题及答案练习(1)
高级经济师考试模拟题及答案练习(2)