Java大学实用教程(第2版)[耿祥义等编著][程序源代码]

合集下载

JAVA大学实用教程第二版~习题答案

JAVA大学实用教程第二版~习题答案

Java大学实用教程第二版课后答案第一章作业题1.public class Hello{public static void main (String args[ ]){System.out.pintln(“早上好,good Morning”);}}2.import java.applet.*;import java.awt.*;public class Boy extends Applet {public void paint(Graphics g) {g.setColor(Color.blue);g.drawString("你好,hello",12,30);}}第二章作业题1.public class ZuoYe2_1{public static void main (String args[ ]){char c='а';System.out.println("字母"+c+"在unicode表中的顺序位置:"+(int)c);System.out.println("字母表:");while(c<='я'){System.out.print(" "+c);c=(char)(c+1);}}}2.import java.util.*;public class ZuoYe2_2{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);long chengji=1;int m=0;while(reader.hasNextInt()){int x=reader.nextInt();m=m+1;chengji=chengji*x;}System.out.println(m+"个数的乘积为"+chengji);}}第三章作业题1.import java.util.*;public class ZuoYe3_1{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);double y=0,x=0;x=reader.nextDouble();if(x<0)y=-1+2*x;else if(x==0)y=-1;else if(x>0)y=-1+3*x;System.out.println(y);}}2.public class ZuoYe3_2{public static void main(String args[]){int sum=0,m=3,n=7,a=1;while(a<=1000){if(a%m==0&&a%n==0)sum=sum+a;a++;}System.out.println("sum="+sum);}}3.public class ZuoYe3_3{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){ sum=sum+item;item=item*10+a;}System.out.println(sum);}}4.public class ZuoYe3_4{public static void main(String args[]){double sum=0,a=1,b=1,fuhao=1,item=a/b;int i=1;while(i<=1000){sum=sum+fuhao*item;i++;fuhao=fuhao*(-1);b=b+2;item=a/b;}System.out.println("sum="+sum);}}5.public class ZuoYe3_5{public static void main(String args[]){double sum=0,a=1;int i=1;while(i<=20){if(i>=10)sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}8.第四章作业题1.class DengCha{int start,d;DengCha(){}DengCha(int start,int d){this.start=start;this.d=d;}void setStart(int s){start=s;}void setD(int d){this.d=d;}int getSum(int n){int sum=0,i=1;while(i<=n){sum=sum+start;start=start+d;i++;}return sum;}}public class ZuoYe4_1{public static void main (String args[ ]){DengCha shulie=new DengCha(2,3);System.out.println(shulie.getSum(100));shulie.setStart(10);shulie.setD(5);System.out.println(shulie.getSum(9)); }}2.class Letter{public void printLetter(){for(char c='a';c<='z';c++)System.out.print(" "+c);}}public class ZuoYe4_2{public static void main (String args[ ]){Letter p=new Letter();p.printLetter();}}3.class SquareEquation{double a,b;static double c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c){this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}public void getRoots(){if(boo){System.out.println("是一元2次方程");double disk=b*b-4*a*c;if(disk>=0){root1=(-b+Math.sqrt(disk))/(2*a);root2=(-b-Math.sqrt(disk))/(2*a);System.out.printf("方程的根:%f,%f\n",root1,root2);}else{System.out.printf("方程没有实根\n");}}else{System.out.println("不是一元2次方程");}}public void setCoefficient(double a,double b,double c){ this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}}public class ZuoYe4_3{public static void main(String args[ ]){SquareEquation equation1=new SquareEquation(4,5,1);SquareEquation equation2=new SquareEquation(3,5,-7);equation1.getRoots();equation2.getRoots();}}4.import java.util.Scanner;class A{int f(int m,int n){if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}if(m<n){ int temp=m;m=n;n=temp;}int a=m,b=n;int r=m%n;while(r!=0){ m=n;n=r;r=m%n;}return n;}}class B{A a;B(){a=new A();}int g(int m,int n){int temp=a.f(m,n);return m*n/temp;}}public class ZuoYe4_4{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);System.out.println("输入2个正整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();A a=new A();B b=new B();System.out.println(m+"和"+n+"的最大公约数是"+a.f(m,n));System.out.println(m+"和"+n+"的最小公倍数是"+b.g(m,n));}}5.import java.applet.Applet;import java.awt.*;public class Example4_10 extends Applet{Button redbutton;public void init(){redbutton=new Button("我是一个红色的按钮");redbutton.setBackground(Color.red);redbutton.setForeground(Color.white);add(redbutton);}}第五章作业题1.import java.util.Scanner;class A{public int f(int m,int n){if(m<n){int temp=m;m=n;n=temp;}int r=m%n;while(r!=0){m=n;n=r;r=m%n;}return n;}}class B extends A{public int f(int m,int n){int division=super.f(m,n);return (m*n)/division;}}public class ZuoYe5_1{public static void main (String args[ ]){A a=new A();B b=new B();Scanner reader=new Scanner(System.in);System.out.println("输入2个整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}System.out.printf("%d和%d的最大公约数是%d\n",m,n,a.f(m,n));System.out.printf("%d和%d的最小公倍数是%d\n",m,n,b.f(m,n));}}2.abstract class A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x); }class A1 extends A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 extends A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 extends A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_2{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}3.interface A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x); }class A1 implements A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 implements A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 implements A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_3{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}4.class Cubic{ double getCubic(int n){ return 0;}}abstract class Sqrt{ public abstract double getSqrt(int x); }class A{ void f(Cubic cubic){ double result=cubic.getCubic(3);System.out.println(result);}}public class ZuoYe5_4{ public static void main(String args[]){ A a=new A();a.f(new Cubic(){ double getCubic(int n){ return n*n*n;}});Sqrt ss=new Sqrt(){ public double getSqrt(int x){ return Math.sqrt(x);}};double m=ss.getSqrt(5);System.out.println(m);}}5.class IntegerException extends Exception{ String message;IntegerException(int m){ message="年龄"+m+"不合理";}public String toString(){ return message;}}class People{ private int age=1;public void setAge(int age) throws IntegerException{if(age>=160||age<=0)throw new IntegerException(age); //方法抛出异常,导致方法结束elsethis.age=age;}public int getAge(){ System.out.println("年龄"+age+"合理");return age;}}public class ZuoYe6_5{ public static void main(String args[]){ People wang=new People(),zhang=new People();try { wang.setAge(189);System.out.println(wang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}try { zhang.setAge(28);System.out.println(zhang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}}}第六章作业题1.import java.util.regex.*;import java.util.*;public class ZuoYe6_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("[24680]A[13579]{2}");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print("从"+m.start()+"到"+m.end()+"匹配模式子序列:");System.out.println(str);}}}2.import java.util.regex.*;import java.util.*;public class ZuoYe4_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("\\d+");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print(str);}}}第七章作业题1.import java.util.*;public class ZuoYe7_2{ public static void main(String args[]){int year,month;try{year=Integer.parseInt(args[0]);month=Integer.parseInt(args[1])+1;}catch(NumberFormatException e){year=2004;month=1;}System.out.println(" 日一二三四五六");Calendar 日历=Calendar.getInstance();日历.set(year,month,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;String a[]=new String[星期几+31];for(int i=0;i<星期几;i++){ a[i]="**";}for(int i=星期几,n=1;i<星期几+31;i++){ if(n<=9)a[i]=String.valueOf(n)+" ";elsea[i]=String.valueOf(n) ;n++;}for(int i=0;i<a.length;i++){ if(i%7==0){ System.out.println("");}System.out.print(" "+a[i]);}}}2.class ZuoYe7_2{ public static void main(String args[]){int year1,month1,day1,year2,month2,day2;try{year1=Integer.parseInt(args[0]);month1=Integer.parseInt(args[1]);day1=Integer.parseInt(args[2]);year2=Integer.parseInt(args[3]);month2=Integer.parseInt(args[4]);day2=Integer.parseInt(args[5]);}catch(NumberFormatException e){year1=2009;month1=0;day1=1;year2=2008;month2=0;day2=1;}Calendar calendar=Calendar.getInstance();calendar.set(year1,month1,day1);long timeYear1=calendar.getTimeInMillis();calendar.set(year2,month2,day2);long timeYear2=calendar.getTimeInMillis();long 相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");}}3.import java.math.*;public class ZuoYe4_1{public static void main(String args[]){BigInteger chengji=new BigInteger("1"),ONE=new BigInteger("1"),i=ONE,m=new BigInteger("10");while(pareTo(m)<=0){chengji=chengji.multiply(i);i=i.add(ONE);}System.out.println(chengji);}}4.import java.util.*;public class ZuoYe7_4{public static void main(String args[]){HashSet<Integer> A=new HashSet<Integer>(),B=new HashSet<Integer>(),tempSet=new HashSet<Integer>();A.add(new Integer(1));A.add(new Integer(2));A.add(new Integer(3));A.add(new Integer(4));B.add(new Integer(1));B.add(new Integer(3));B.add(new Integer(7));B.add(new Integer(9));B.add(new Integer(11));tempSet=(HashSet<Integer>)A.clone();tempSet.retainAll(B);System.out.println("交:");Iterator<Integer> iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.addAll(B);iter=tempSet.iterator();System.out.println("并:");while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.removeAll(B);System.out.println("差:");iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}}}5.import java.util.*;class MyKey implements Comparable{double number=0;MyKey(double number){this.number=number;}public int compareTo(Object b){MyKey st=(MyKey)b;if((this.number-st.number)==0){return -1;}else{return (int)((this.number-st.number)*1000);}}}class 硬盘{int size;double price;硬盘(int n, double p){size=n;price=p;}}public class ZuoYe4_1{public static void main(String args[ ]){int [] size={10,3,7,12,10,22,100,4,6,2};double [] price={1.2,9.56,2.4,9.3,16.77,12.66,7.4,5.5,5.6,8.9,1.9};硬盘[] s=new 硬盘[10];for(int i=0;i<s.length;i++)s[i]=new 硬盘(size[i],price[i]);TreeMap<MyKey,硬盘> treemap=new TreeMap<MyKey,硬盘>();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].size),s[i]);int number=treemap.size();System.out.println("树映射中有"+number+"个对象:");Collection<硬盘> collection=treemap.values();Iterator<硬盘> iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}treemap.clear();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].price),s[i]);number=treemap.size();System.out.println("树映射中有"+number+"个对象:");collection=treemap.values();iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}}}第八章作业题1.属于操作题目,省略2.参见例子8-23.参见例子8-34. 参见例子8-10第九章作业题1.import java.io.*;import java.awt.*;import java.awt.event.*;public class ZuoYe9_1{ public static void main(String args[]){ int b;byte tom[]=new byte[25];try{ File f=new File("Example.java");FileInputStream in=new FileInputStream(f);while((b=in.read(tom,0,25))!=-1){ String s=new String (tom,0,b);System.out.print(s);}in.close();}catch(IOException e){ System.out.println("File read Error"+e);}}}2.import java.io.*;import java.util.*;public class ZuoYe9_2{public static void main(String args[]){Scanner reader=new Scanner(System.in);int b;try{FileOutputStream writefile=new FileOutputStream("line.txt");int line=1,n=10;System.out.println("输入"+n+"行文本,并存入磁盘:");while(line<=n){String s=reader.nextLine();byte buffer[]=s.getBytes();writefile.write(buffer,0,buffer.length);line++;}writefile.close();}catch(IOException e){System.out.println("Error "+e);}}}3.import java.io.*;public class ZuoYe9_3{public static void main(String args[ ]){int n=-1;CharArrayWriter out=new CharArrayWriter();for(char c='а';c<='я';c++){out.write(c);}CharArrayReader in=new CharArrayReader(out.toCharArray());try{ while((n=in.read())!=-1){if(n%2==0){System.out.printf("\n");}System.out.printf("\t位置%d,字符\'%c\'",n,(char)n);}}catch(IOException e){}}}4.import java.io.*;import java.util.*;public class ZuoYe9_4{public static void main(String args[]){try{FileOutputStream fos=new FileOutputStream("jerry.dat");DataOutputStream out_data=new DataOutputStream(fos);Scanner reader=new Scanner(System.in);for(int i=1;i<=10;i++){int x=reader.nextInt();out_data.writeInt(x);}out_data.close();}catch(IOException e){}try{FileInputStream fis=new FileInputStream("jerry.dat");DataInputStream in_data=new DataInputStream(fis);for(int i=1;i<=10;i++){int m=in_data.readInt();System.out.print(" "+m);}in_data.close();}catch(IOException e){}}}5.import java.io.*;import java.util.*;class Student implements Serializable{String name ;int number;Student(String name,int number){=name;this.number=number;}}public class ZuoYe9_5{public static void main(String args[]){List<Student> list=new LinkedList<Student>();List<Student> cloneList=null;for(int k=1;k<=12;k++)list.add(new Student("I am "+k,k));try{ FileOutputStream fileOut=new FileOutputStream("a.txt");ObjectOutputStream objectOut=new ObjectOutputStream(fileOut);objectOut.writeObject(list);FileInputStream fileIn=new FileInputStream("a.txt");ObjectInputStream objectIn=new ObjectInputStream(fileIn);cloneList=(List)objectIn.readObject();}catch(Exception event){System.out.println(event);}Iterator iter=cloneList.iterator();while(iter.hasNext()){Student te=(Student)iter.next();System.out.println(te.number+","+);}}}6.import java.io.*;public class ZuoYe9_6{ public static void main(String args[]){File f=new File("Xiti12_6.java");try{ RandomAccessFile random=new RandomAccessFile(f,"rw");random.seek(0);long m=random.length();while(m>=0){ m=m-1;random.seek(m);int c=random.readByte();if(c<=255&&c>=0){ System.out.print((char)c);}else{ m=m-1; //一个汉字占2个字节random.seek(m);byte cc[]=new byte[2];random.readFully(cc);System.out.print(new String(cc));}}random.close();}catch(IOException ee){}}}5.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_5{ public static void main(String args[]){ ComputerFrame fr=new ComputerFrame();fr.setTitle("计算");}}class ComputerFrame extends JFrame implements ActionListener{ JTextField text1,text2,text3;JButton button1,button2,button3,button4;JLabel label;public ComputerFrame(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);label=new JLabel(" ",JLabel.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);button1=new JButton("加");button2=new JButton("减");button3=new JButton("乘");button4=new JButton("除");add(button1);add(button2);add(button3);add(button4);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);setSize(400,320);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); validate();}public void actionPerformed(ActionEvent e){ double n;if(e.getSource()==button1){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1+n2;text3.setText(String.valueOf(n));label.setText("+");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button2){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1-n2;text3.setText(String.valueOf(n));label.setText("-");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button3){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1*n2;text3.setText(String.valueOf(n));label.setText("*");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button4){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1/n2;text3.setText(String.valueOf(n));label.setText("/");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}validate();}}6.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_6{ public static void main(String args[]){ new WindowPanel();}}class Mypanel extends JPanel implements ActionListener { JButton button;JTextField text;Mypanel(){ button=new JButton(" ");text=new JTextField(12);add(button);add(text);button.addActionListener(this);}public void actionPerformed(ActionEvent e){ String name=text.getText();if(name.length()>0)button.setText(name);validate();}}class WindowPanel extends JFrame{ Mypanel panel1,panel2;WindowPanel(){ panel1=new Mypanel();panel2=new Mypanel();panel1.setBackground(Color.red);panel2.setBackground(Color.blue);add(panel1,BorderLayout.SOUTH);add(panel2,BorderLayout.NORTH);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}7.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_7{ public static void main(String args[]){ new WindowColor();}}class WindowColor extends JFrame{ JButton button;JTextField text;JComboBox list;WindowColor(){ setLayout(new FlowLayout());button=new JButton("hello");button.setBackground(Color.pink);button.setForeground(new Color(12,26,200));text=new JTextField("how are you");text.setBackground(Color.yellow);text.setForeground(new Color(200,26,20));list=new JComboBox();list.addItem("Hello");list.addItem("Java");list.setBackground(Color.cyan);list.setForeground(new Color(100,100,100));add(list);add(button);add(text);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}8.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_8{ public static void main(String args[]){ MoveFrame f=new MoveFrame();f.setBounds(12,12,300,300);f.setVisible(true);f.setTitle("移动");f.validate();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}class MoveFrame extends JFrame implements ActionListener { JButton controlButton,movedButton;public MoveFrame(){ controlButton=new JButton("单击我运动另一个按钮");controlButton.addActionListener(this);movedButton=new JButton();movedButton.setBackground(new Color(12,200,34));setLayout(null);add(controlButton);add(movedButton);controlButton.setBounds(10,30,180,30);movedButton.setBounds(100,100,20,20);}public void actionPerformed(ActionEvent e){ int x=movedButton.getBounds().x;int y=movedButton.getBounds().y;x=x+5;y=y+1;movedButton.setLocation(x,y);if(x>200){ x=100;y=100;}}}9.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new LP(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class LP extends JLayeredPane implements MouseListener,MouseMotionListener { JButton button[];JTextField text[];int x,y,a,b,x0,y0;LP(){ setLayout(new FlowLayout());button=new JButton[8];for(int k=0;k<button.length;k++){ button[k]=new JButton("用鼠标拖动我");add(button[k]);button[k].addMouseListener(this);button[k].addMouseMotionListener(this);}text=new JTextField[10];for(int k=0;k<text.length;k++){ text[k]=new JTextField("用鼠标拖动我");text[k].addMouseListener(this);add(text[k]);text[k].addMouseMotionListener(this);}addMouseMotionListener(this);}public void mousePressed(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DRAG_LAYER);a=com.getBounds().x;b=com.getBounds().y;x0=e.getX(); //获取鼠标在事件源中的位置坐标y0=e.getY();}public void mouseReleased(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DEFAULT_LAYER);Component component[]=this.getComponents();for(int k=0;k<component.length;k++){ Rectangle rect1=component[k].getBounds();Rectangle rect2=com.getBounds();if(rect1.intersects(rect2)&&com!=component[k]){ component[k].setVisible(false);//this.remove(component[k]);}}}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseClicked(MouseEvent e){}public void mouseMoved(MouseEvent e){}public void mouseDragged(MouseEvent e){ Component com=null;if(e.getSource() instanceof Component){ com=(Component)e.getSource();a=com.getBounds().x;b=com.getBounds().y;x=e.getX(); //获取鼠标在事件源中的位置坐标y=e.getY();a=a+x;b=b+y;com.setLocation(a-x0,b-y0);}}}10.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new MoveButton(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class MoveButton extends JLayeredPane implements KeyListener { JButton b[]=new JButton[8];int x,y;MoveButton(){ setLayout(new FlowLayout());for(int i=0;i<8;i++){ b[i]=new JButton(""+i);b[i].addKeyListener(this);add(b[i]);}}public void keyPressed(KeyEvent e){ int moveDistance=1;Component com=(Component)e.getSource();int x=(int)com.getBounds().x;int y=(int)com.getBounds().y;Component component[]=this.getComponents();if(e.getKeyCode()==KeyEvent.VK_UP){ y=y-moveDistance;com.setLocation(x,y);Rectangle comRect=com.getBounds();for(int k=0;k<component.length;k++){ Rectangle orthRect=component[k].getBounds();。

最新java大学实用教程(第二版附课后练习答案第6章字符串与正则表达式ppt课件

最新java大学实用教程(第二版附课后练习答案第6章字符串与正则表达式ppt课件

System.out.println(date.toString());
System.out.println(stu.toString());
System.out.println(tv.toString());
}
}
class Student{
String name;
double score;
Student(String name,double score){
有时,我们需要将数字转化为字符串,可以使用String 类的下列类方法:
public String valueOf(byte n) public String valueOf(int n) public String valueOf(long n) public String valueOf(float n) public String valueOf(double n) 我们可以使用Long类中的下列方法,得到整数的各种进制数的 表示。
String 类还提供了一个方法: public char[] toCharArray() 字符串对象调用该方法可以初始化一个字符数组,该 数组的长度与字符串的长度相等,并将字符串对象的 全部字符复制到该数组中。 例子6_4在这个例子中用户在键盘上输入字符串,程序实 现将其加密然后输出的目的。
返回
5.字符串与基本数据的相互转化 ng包中的Integer类调用其类方法: public static int parseInt(String s) 可以将“数字”格式的字符串,如“12387”,转化为int型 数据。 类似地,使用ng包中的Byte、Short、Long、Float、 Double类调相应的类方法: public static byte parseByte(String s) public static short parseShort(String s) public static long parseLong(String s) public static double parseFloat(String s) public static double parseDouble(String s) 可以将“数字”格式的字符串,转化为相应的基本数据类型。

Java大学实用教程(第2版)[耿祥义等编著][电子教案]第2章

Java大学实用教程(第2版)[耿祥义等编著][电子教案]第2章

2.2
基本数据类型
1.逻辑类型 常量:true ,false。 变量的定义: 使用关键字boolean来定义逻辑变量,定义时也可 以赋给初值。 2.整数类型 常量:123,6000(十进制),077(八进制), 0x3ABC(十六进制)。 整型变量的定义分为4种
2.2
基本数据类型
(1)int 型 使用关键字int来定义int 型整型变量,定义时也 可以赋给初值,例如:int x,平均=9898;对于int型 变量,内存分配给4个字节(byte)。int型变量的取值 范围是: -231~231-1。 (2)byte 型 使用关键字byte 来定义byte 型整型变量。对于 byte型变量,内存分配给1个字节,占8位,byte型变量 的取值范围是-27~27-1。
2.5 数组
4.数组的初始化
创建数组后,系统会给每个数组元素一个默认的值,如,float型是0.0。 我们在声明数组时同时也还可以给数组的元素一个初始值,如: float boy[]={ 21.3f,23.89f,2.0f,23f,778.98f}; 数组属于引用型变量,因此两个相同类型的数组如果具有相同的引用,它们就有完全相 同的元素。例如,对于 int [] a={1,2,3},b={4,5}; 数组变量a和b分别存放着不同的引用。但是,如果使用了赋值语句:a=b;那么,a中存 放的引用就和b的相同,这时系统将释放最初分配给数组a的元素,使得a的元素和b的元 素相同,即a[0],a[1]就是b[0],b[1],而最初分配给数组a的三个元素已不复存在 .
返回
2.5 数组
数组是相同类型的数据按顺序组成的一种复合数据类 型。通过数组名加数组下标来使用数组中的数据。下标从 0开始。 1.声明数组 声明数组包括数组的名字、数组包含的元素的数据类 型。 声明一维数组有下列两种格式: 数组元素类型 数组名字[ ]; 数组元素类型[ ] 数组名字;

Java程序设计实用教程(第2版)第3章_运算符、表达式和语句

Java程序设计实用教程(第2版)第3章_运算符、表达式和语句

if-else if-else 语句是多条件分支语句,即根据多个条 件来控制程序执行的流程。 if-else if-else语句的语法格式:
if(表达式) { 若干语句 } else if(表达式) { 若干语句 } …… else { 若干语句 }
2017/8/16
18
例3-1
Number.java , Example3_1.java
2017/8/16
5
§3.1.3 算术混合运算的精度
精度从“低”到“高”排列的顺序是: byte short char int l ong float double Java在计算算术表达式的值时,使用下列计算精度规则: 1 .如果表达式中有双精度浮点数( double 型数据),则 按双精度进行运算。 2 .如果表达式中最高精度是单精度浮点数( float 型数 据),则按单精度进行运算。 3.如果表达式中最高精度是long型整数,则按long精度进 行运算。 4.如果表达式中最高精度低于 int型整数,则按int精度进 行运算。
if(表达式) { 若干语句 } else { 若干语句 }
有语法错误的if-else语句 :× 正确的写法是:√
if(x>0) y=10; z=20; else y=-1020; } else y=100;
17
§3.3.3 if-else if-else 语句
2017/8/16 21
§3.5 循环语句 §3.5.1 for循环语句 for语句的语法格式:
for (表达式1; 表达式2; 表达式3) { 若干语句 }
for语句的执行规则是:
( 1 )计算“表达式 1 ”,完成必要的初始化 工作。 (2)判断“表达式2”的值,若“表达式2” 的值为true,则进行(3),否则进行(4)。 ( 3 )执行循环体,然后计算“表达式 3 ”, 以便改变循环条件,进行(2)。 (4)结束for语句的执行。

java大学实用教程 第二版 实验指导书

java大学实用教程 第二版 实验指导书

实验1 Java运行环境及简单应用程序开发一、实验目的(1)可以安装并配置Java运行环境。

(2)掌握Java中path和classpath的属性作用。

(3)可以编写一个简单的Java应用程序。

(4)掌握Java应用程序的开发流程。

二、实验内容及步骤1.安装并配置运行环境(1)任务安装JA V A SE,检查和设置环境变量path。

(2)步骤第一步:安装JA V A SE,安装后在安装目录下应有jdk和jre文件夹。

第二步:设置环境变量path,步骤参见教材P7。

第三步:检查环境变量path,可在命令提示符下使用命令javac –version 检查path是否配置好及jdk的版本。

第四步:如运行或编译程序时出错,可配置classpath,步骤参见教材P7。

(3)问题:程序中的主类如果不用public修饰,编译能通过吗?程序中的主类如果不用public修饰,能正确运行吗?编译器怎样提示丢失大括号的错误?编译器怎样提示语句丢失分号的错误?编译器怎样提示将System写成system这一错误?编译器怎样提示将String写成string这一错误?(4)实验报告将上述思考题写在实验报告上。

2. 编写简单的Java应用程序(1)任务任务一:在屏幕上输出“我喜欢学习java”。

任务二:在屏幕上输出出以下信息:******************************** java程序设计*******************************(2)步骤第一步:使用记事本或EDIT编写源程序,源程序内容参见教材P9例1-1。

第二步:保存并为源程序命名。

保存时若使用记事本,保存类型请选择“所有类型”,命名规则参见教材P9,保存类型为.java。

第三步:打开命令提示符,进入源程序保存的文件夹下,使用编译器对其进行编译:如javac Hello.java。

第四步:如编译时无任何提示,说明源程序无错误,可对生成的class文件进行解释并执行,如java Hello,此步省略.class。

Java程序设计实用教程(第2版)第4章_类 与 对 象

Java程序设计实用教程(第2版)第4章_类 与 对 象
2.成员变量的有效范围:成员变量在整个类内都有效,其 有效性与它在类体中书写的先后位置无关。 3.编程风格 (1)一行只声明一个变量。 (2)变量的名字符合标识符规定。 (3)变量名字见名知意,避免容易混淆的变量名字。
2019/8/2 9
§4.2.4 方法_ 1.方法声明
方法的定义包括两部分:方法声明和方法体。一 般格式为:
2019/8/2 6
§4.2.2 类体
◆ 类声明之后的一对大括号“{”,“}”以及它 们之间的内容称作类体,大括号之间的内容称作 类体的内容。 ◆类体的内容由两部分构:一部分是变量的声明, 用来刻画属性;另一部分是方法的定义,用来刻 画功能。
2019/8/2 7
例4-1 Vehicle .java
2019/8/2 31
§4.4.4 可变参数
可变参数是指在声明方法时不给出参数列表中从某项 直至最后一项参数的名字和个数,但这些参数的类型必 须相同。可变参数使用“…”表示若干个参数,这些参 数的类型必须相同,最后一个参数必须是参数列表中的 最后一个参数。例如: public void f(int … x) 那么, 方法f的参数列表中,从第1个至最后一个参数都是int 型,但连续出现的int型参数的个数不确定。称x是方法 f的参数列表中的可变参数的“参数代表”。
2019/8/2 29
§4.4.3 引用类型参数的传值
当参数是引用类型时,“传值”传递的是变 量中存放的“引用”,而不是变量所引用的实体。
2019/8/2 30
例4-5 TV.java ,Chineses.java , Example4_5.java
TV.java中的TV类负责创建“电视”对 象,Chinese.java中的Chinese类负责创 建“人物”对象。 在主类的main方法中首先使用TV类创 建一个对象:haierTV,然后使用 Chinese类再创建一个对象:zhangsan, 并将先前TV类的实例:haierTV的引用 传递给zhangsan对象的成员变量 homeTV。由于haierTV和zhangsan对 象的成员变量homeTV具有相同的引用, 因此其中一个TV对象改变了所引用的 实体,如更改了频道,那么另一个自然 也就更改了频道,程序运行效果如图 4.12所示。

Java大学实用教程(第2版)问答题答案1_3章

Java大学实用教程(第2版)问答题答案1_3章

第一章问答题1.答:开发Java语言的动力源于对独立平台的需要,即用这种语言编写的程序不会因为芯片的变化而发生无法运行或出现运行错误的情况;致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种CPU芯片上的代码主要贡献者是James Gosling。

2.答:不正确。

Java提供的编译器把源程序编译成称为“字节码”的一个中间代码。

字节码是很接近机器码的二进制文件,不能被机器直接识别。

3.答:Java应用程序的主类必须含有public static void main(String args[])方法,作为应用程序运行的入口和起始点。

4.答:不正确。

可以没有public类。

Java程序的源文件中如果有多个类,那么只能有一个类是public类。

如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名为.java。

如果源文件没有public类,那么源文件的名字只要与某个类的名字相同,并且拓展名为.java就可以了。

5.答:正确。

Java Applet源文件的主类必须是public的。

按照源文件的命名规定,Java Applet源文件的名字一定与主类的名字相同。

6.答:如果源文件中有多个类,那么只能有一个类是public类;如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,拓展名为.java;如果源文件没有public类,那么源文件的名字只要与某个类的名字相同,并且拓展名为.java就可以了。

7.答:源文件生成的字节码在运行时只将程序需要的字节码加载到内存中。

8.答:开发一个Java Applet程序需经过三个步骤:编写源文件、编译源文件生成字节码、通过浏览器加载运行字节码。

1)编写源文件。

一个Java Applet源文件也是由若干个类组成的,一个Java Applet源文件不再需要main方法,但必须有且只有一个类扩展了Applet类,即它是Applet类的子类(Applet类是系统提供的类),我们把这个类称作Java Applet源文件的主类。

JAVA大学实用教程(第二版)11

JAVA大学实用教程(第二版)11

11.1
URL类
该URL对象使用的协议是HTTP,即用 户按照这种协议与指定的服务器通 信,该URL对象包含的地址是 “”,所包含的资源 是默认的资源(主页)。
11.1

URL类
public URL(String protocol,String host,String file) throws MalformedURLException——构造的 URL对象、协议、地址和资源分别由 参数protocol、host和file指定。
11.3 显示URL资源中的 HTML文件 public JEditorPane(URL initialPage) throws IOException public JEditorPane(String url) throws IOException 可以构造JEditorPane对象。后两个方 法使用参数initialPage或url指定 该对象最初显示的URL中的资源。
例11-1 读取URL资源
InputStream in=url.openStream(); while((n=in.read(b))!=-1){ String s=new String(b,0,n); area.append(s); } } catch(MalformedURLException e1){ text.setText(""+e1); return; } catch(IOException e1){ text.setText(""+e1); return; } } }

11.3 显示URL资源中的 HTML文件 JEditorPane对象调用方法: public void setpage(URL page) thows IOException方法可以显示新的URL中 的资源。 在例11-2中,用JEditorPane对象 显示网页。

Java大学实用教程学习指导(第2版)

Java大学实用教程学习指导(第2版)
2.模板代码
Russian.java
public class Russian {
public static void main (String args[ ]) {
int startPosition=0,endPosition=0;
char cStart='а',cEnd='я';
【代码1】// cStart做int类型转换运算,并将结果赋值给startPosition
int c=f(Math.abs(a),Math.abs(b)); //计算最大公约数绽萬璉轆娛閬蛏鬮绾瀧。
numerator=a/c;
denominator=b/c;
if(numerator<0&&denominator<0){
-numerator;
denominator=-denominator;
int number=0,d5,d4,d3,d2,d1;
Scanner reader=new Scanner(System.in);
System.out.println("从键盘输入一个1至99999之间的数");
while(reader.hasNextInt()){
number=reader.nextInt();
System.out.printf("\n%d是2位数", number);
if(d1==d2)
System.out.printf("\t%d是回文数", number);
else
System.out.printf("\t%d不是回文数", number);
}
else if(d1!=0){

jsp大学实用教程第二版课后答案

jsp大学实用教程第二版课后答案

jsp大学实用教程第二版课后答案【篇一:jsp 实用教程(第二版)程序源代码】class=txt>清华大学出版社(耿祥义张跃平编著)程序源代码建议使用文档结构图浏览使用word菜单→视图→文档结构图)(选择摘要jsp是一种动态网页技术标准,利用这一技术可以建立安全、跨平台的先进动态网站。

本书是一本实用教程,配备了大量的例题,叙述详细,通俗易懂,便于自学,特别注重结合实例讲解一些难点和关键技术。

全书共分10章,内容包括jsp简介、jsp语法、内置对象、jsp与javabean、文件操作、数据库操作、javaservlet、mvc设计模式、jsp中使用xml等重要内容。

本书所有知识都结合具体实例进行介绍.力求详略得当,突出jsp在开发web动态网站方面的强大功能,使读者快速掌握和运用jsp的编程技巧。

本书不仅可以作为大学计算机及相关专业的选修课教材,也适合自学者及网站开发人员参考使用。

前言本书是《jsp实用教程》的第二版,继续保留原教材的特点——注重教材的可读性和实用性,许多例题都经过精心的考虑,即能帮助理解知识,同时又具有启发性。

在第二版中增加了xml和mvc模式在web设计中的应用,对全书章节的先后顺序和部分例题的内容做了调整。

第1章介绍jsp重要性,对tomcat服务器的安装与配置给予了详细介绍。

第2章讲解jsp页面的基本构成、常用的jsp标记。

第3章讲解内置对象,特别强调了这些内置对象在jsp应用开发中的重要性,结合实例使读者掌握内置对象的用法。

第4章是jsp技术中很重要的内容,即怎样使用javabean分离数据的显示和处理,这一章讲解了许多有一定应用价值的例子。

第5章主要讲解怎样使用java中的输入输出流实现文件的读写操作,在实例上特别强调怎样使用javabean实现文件的读写操作。

第6章涉及的内容是数据库,也是web应用开发的非常重要的一部分内容,特别介绍了各种数据库的连接方式。

第7章讲解javaservlet,对servlet对象的运行原理给予了细致的讲解,许多例子都是大多数web开发中经常使用的模块。

Java大学实用教程(第2版)书中 例子 程序源代码

Java大学实用教程(第2版)书中 例子 程序源代码

Hello.javaclass A{void f(){System.out.println("I am A");}}class B{}public class Hello{public static void main (String args[ ]) {System.out.println("你好,很高兴学习Java");A a=new A();a.f();}}Tom.javapublic class Tom{int leg;String head;void cry(String s){System.out.println(s);}}class Example{public static void main(String args[]){ Tom cat;cat=new Tom();cat.leg=4;cat.head="猫头";System.out.println("腿:"+cat.leg+"条"); System.out.println("头:"+cat.head);cat.cry("我今天要和Jerry拼了");}}Ch10importjavax.swing.*;importjava.awt.event.InputEvent;importjava.awt.event.KeyEvent;public class Example10_1{public static void main(String args[]){FirstWindow win=new FirstWindow("一个简单的窗口");}}classFirstWindow extends JFrame{JMenuBarmenubar;JMenu menu;JMenuItem item1,item2;FirstWindow(String s){setTitle(s);setSize(160,170);setLocation(120,120);setVisible(true);menubar=new JMenuBar();menu=new JMenu("文件");item1=new JMenuItem("打开",new ImageIcon("open.gif"));item2=new JMenuItem("保存",new ImageIcon("save.gif"));item1.setAccelerator(KeyStroke.getKeyStroke('O'));item2.setAccelerator(KeyStroke.getKeyStroke(KeyEvent.VK_S,InputEvent.CTRL_M ASK));menu.add(item1);menu.addSeparator();menu.add(item2);menubar.add(menu);setJMenuBar(menubar);validate();setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);}}Java大学实用教程(第2版)[程序源代码].zip完全版:。

java,面向对象程序设计(,第2版)耿祥义word,教案

java,面向对象程序设计(,第2版)耿祥义word,教案

java,面向对象程序设计(,第2版)耿祥义word,教案篇一:JaVa面向对象程序设计教案西南财经大学天府学院教案任课教师:贾砚池课程名称:面向对象程序设计(Java)任课班级:13级专科计算机01班、01班、13级专科软件01班授课时间:20XX-20XX-2学期西南财经大学天府学院教务处制级专科网络13教案编号:1第1页共51页第2页共51页第3页共51页教案编号:2第4页共51页篇二:java面向对象程序设计教案武汉大学珞珈学院系/教研室Java面向对象程序设计课教案主讲教师:熊春秀编写时间:20XX-4-30第一章:概述第1、2节:面向对象的基本概念、面向对象程序设计概述授课时间:20XX-2-22、23计划学时数:1教学任务与目的:让学生理解面向对象的基本概念教学重点:掌握面向对象的基本概念教学难点:理解面向对象程序设计的方法教学方法:多媒体+板书参考书目:《面向对象程序设计导论》,[美]c.Thomaswu著,电子工业出版社专业词汇:Java虚拟机、applet程序备注第1、2、3节:Java语言特点、Java应用程序及运行环境、Javaapplet 程序及运行环境授课时间:20XX-2-22、23计划学时数:3教学任务与目的:让学生学会JdK的下载、安装与环境配置。

教学重点:掌握编译和执行Java程序的基本步骤教学难点:理解Java程序的入口并能够通过命令行传递参数教学方法:多媒体+板书参考书目:《面向对象程序设计导论》,[美]c.Thomaswu著,电子工业出版社专业词汇:JdK、lib、bin备注第1、2节:Java程序的构成、数据类型、表达式以及流程控制语句授课时间:20XX-3-1、2计划学时数:3教学任务与目的:让学生学会Java基本的数据类型和表示方法、数值类型的运算、逻辑运算和比较、条件执行语句(包括三种条件语句和switch语句)、循环控制语句(包括for、while、dowhile循环及相应的辅助语句)、字符串类String和BufferString以及数组的声明及使用。

java,面向对象程序设计(,第2版)耿祥义word,教案

java,面向对象程序设计(,第2版)耿祥义word,教案

java,面向对象程序设计(,第2版)耿祥义word,教案篇一:JaVa面向对象程序设计教案西南财经大学天府学院教案任课教师:贾砚池课程名称:面向对象程序设计(Java)任课班级:13级专科计算机01班、01班、13级专科软件01班授课时间:20XX-20XX-2学期西南财经大学天府学院教务处制级专科网络13教案编号:1第1页共51页第2页共51页第3页共51页教案编号:2第4页共51页篇二:java面向对象程序设计教案武汉大学珞珈学院系/教研室Java面向对象程序设计课教案主讲教师:熊春秀编写时间:20XX-4-30第一章:概述第1、2节:面向对象的基本概念、面向对象程序设计概述授课时间:20XX-2-22、23计划学时数:1教学任务与目的:让学生理解面向对象的基本概念教学重点:掌握面向对象的基本概念教学难点:理解面向对象程序设计的方法教学方法:多媒体+板书参考书目:《面向对象程序设计导论》,[美]c.Thomaswu著,电子工业出版社专业词汇:Java虚拟机、applet程序备注第1、2、3节:Java语言特点、Java应用程序及运行环境、Javaapplet 程序及运行环境授课时间:20XX-2-22、23计划学时数:3教学任务与目的:让学生学会JdK的下载、安装与环境配置。

教学重点:掌握编译和执行Java程序的基本步骤教学难点:理解Java程序的入口并能够通过命令行传递参数教学方法:多媒体+板书参考书目:《面向对象程序设计导论》,[美]c.Thomaswu著,电子工业出版社专业词汇:JdK、lib、bin备注第1、2节:Java程序的构成、数据类型、表达式以及流程控制语句授课时间:20XX-3-1、2计划学时数:3教学任务与目的:让学生学会Java基本的数据类型和表示方法、数值类型的运算、逻辑运算和比较、条件执行语句(包括三种条件语句和switch语句)、循环控制语句(包括for、while、dowhile循环及相应的辅助语句)、字符串类String和BufferString以及数组的声明及使用。

java2实用教程耿祥义_张跃平编著(3版)习题解答__课后答案

java2实用教程耿祥义_张跃平编著(3版)习题解答__课后答案

java2实用教程耿祥义张跃平编著(3版)习题解答1-17章完整版.doc第一章习题1.需3个步骤:1)用文本编辑器编写源文件2)使用javac编译源文件,得到字节码文件3)应用程序使用解释器运行;小应用程序使用浏览器运行。

2.应用程序必须有一个类含有public static void main(String args[])方法,含有该方法的类称为应用程序的主类。

小应用程序必须有一个类是java.applet.Applet类的子类,该类称做主类。

应用程序中可以没有public类,若有的话可以是应用程序中的任何一个类。

小应用程序的主类必须用public修饰。

3.java的源程序是由若干个书写形式互相独立的类组成的。

小应用程序的主类必须用public修饰。

应用程序中可以没有public类,若有的话可以是应用程序中的任何一个类。

一个java的源程序至多可以有一个public类。

Java源文件的名字可以和其中某个类的名字相同,扩展名是.java,但是,如果源程序中有public类,那么源文件的名字必须和这个public 类的名字相同,扩展名是.java。

4.属于操作,解答略。

第二章习题1.用来标识类名、变量名、方法名、类型名、数组名、文件名的有效字符序列称为标识符。

标识符由字母、下划线、美元符号和数字组成,并且第一个字符不能是数字字符2.关键字就是Java语言中已经被赋予特定意义的一些单词,不可以把关键字作为名字来用。

3.boolean ,char,byte,short,int,long,float,double。

4.b=x;5.数组b的长度为4b[0]=16.属于操作题,解答略。

7.属于操作题,解答略。

8.public class E{ public static void main (String args[ ]) { char cStart='α',cEnd='ω';for(char c=cStart;c<=cEnd;c++){ System.out.print(" "+c);}}}第三章习题1.你爱她2.beep!!3.public class Xiti3_3{ public static void main(String args[]){ double sum=0,a=1;int i=1;while(i<=20){ sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}4.public class Xiti4{ public static void main(String args[]){ int i,j;for(j=2;j<=100;j++){ for(i=2;i<=j/2;i++){ if(j%i==0)break;}if(i>j/2){ System.out.print(" "+j);}}}}5.class Xiti5{ public static void main(String args[]){ double sum=0,a=1,i=1;do { sum=sum+a;i++;a=(1.0/i)*a;}while(i<=20);System.out.println("使用do-while循环计算的sum="+sum);for(sum=0,i=1,a=1;i<=20;i++){ a=a*(1.0/i);sum=sum+a;}System.out.println("使用for循环计算的sum="+sum);}}6.class Xiti6{ public static void main(String args[]){ int sum=0,i,j;for(i=1;i<=1000;i++){ for(j=1,sum=0;j<i;j++){ if(i%j==0)sum=sum+j;}if(sum==i)System.out.println("完数:"+i);}}}7.public class E Xiti7{ public static void main(String args[]){ int m=8,item=m,i=1;long sum=0;while(i<=10){ sum=sum+item;i++;item=item*10+m;}System.out.println(sum);for(i=1,sum=0,item=m;i<=10;i++){ sum=sum+item;item=item*10+m;}System.out.println(sum);}}8.public class E{ public static void main(String args[]){ int n=1;long sum=0;while(true){ sum=sum+n;n++;if(sum>=8888)break;}System.out.println("满足条件的最大整数:"+(n-1));}}第四章习题1.用该类创建对象时。

Java大学实用教程(第2版)ppt

Java大学实用教程(第2版)ppt

7.动作标记useBean
该标记用来创建并使用一个 JavaBean,是非常重要的一个动作标 记,我们将在第5章详细讨论。Sun公 司倡导的是:用HTML完成JSP页面的 静态部分,用JavaBean完成动态部分, 实现真正意义上的静态与动态的分隔。
8. Tag文件与Tag标记 Tag文件是扩展名为 .tag的文本文件, 其结构几乎和JSP文件相同,只是扩展 名不同而已。 一个Tag文件对应一个标记,习惯 上称为Tag标记。若干个Tag标记可以 组成一个标记库,习惯上称为自定义 标记库。
1. 8080是Tomcat服务器的默认端 号口 2. 修改Tomcat服务器的conf目录 下的主配置文件server.xml可以 更改端口号.
5.端口号
6.JSP运行原理
当服务器上的一个JSP页面被第一次请求执行时,服务器上的JSP引擎首 先将JSP页面文件转译成一个java文件,并编译这个java文件生成字节码文 件,然后执行字节码文件响应客户的请求. (1)把JSP页面中的HTML标记符号(页面的静态部分)交给客户的浏
2. Tomcat服务器的安装与配置
将安装JSP引擎的计算机称作一个支持JSP的Web服务器。支持JSP的Web服 务器负责运行JSP,并将运行结果返回给用户. Tomcat是一个免费的开源JSP引擎,也称作Tomcat服务器。可以登录 /tomcat免费下载Tomcat5.5
3. JSP页面的成员变量和方法
1.在JSP页面的标记符“<%!”和“%>” 之间声明的变量称作JSP页面的成员变 量.
2. JSP页面在“<%!”和“%>”之间声明 定义 方法 .
4. Java程序片
在“<%”和“%>”之间插入Java程序片 程序片中声明的变量称为JSP页面的局部 变量 多个客户请求一个JSP页面时 , Java程序 片将被执行多次,分别在不同的线程中 执行 。

耿祥义张跃平java大学实用教程编程题标准答案

耿祥义张跃平java大学实用教程编程题标准答案

习题解答第一章作业题1.public class Hello{public static void main (String args[ ]){System.out.pintln(“早上好,good Morning”);}}2.import java.applet.*;import java.awt.*;public class Boy extends Applet {public void paint(Graphics g) {g.setColor(Color.blue);g.drawString("你好,hello",12,30);}}第二章作业题1.public class ZuoYe2_1{public static void main (String args[ ]){char c='а';System.out.println("字母"+c+"在unicode表中的顺序位置:"+(int)c);System.out.println("字母表:");while(c<='я'){System.out.print(" "+c);c=(char)(c+1);}}}2.import java.util.*;public class ZuoYe2_2{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);long chengji=1;int m=0;while(reader.hasNextInt()){int x=reader.nextInt();m=m+1;chengji=chengji*x;}System.out.println(m+"个数的乘积为"+chengji);}}第三章作业题1.import java.util.*;public class ZuoYe3_1{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);double y=0,x=0;x=reader.nextDouble();if(x<0)y=-1+2*x;else if(x==0)y=-1;else if(x>0)y=-1+3*x;System.out.println(y);}}2.public class ZuoYe3_2{public static void main(String args[]){int sum=0,m=3,n=7,a=1;while(a<=1000){if(a%m==0&&a%n==0)sum=sum+a;a++;}System.out.println("sum="+sum);}}3.public class ZuoYe3_3{public static void main(String args[]){long sum=0,a=8,item=a,n=10,i=1;for(i=1;i<=n;i++){ sum=sum+item;item=item*10+a;}System.out.println(sum);}}4.public class ZuoYe3_4{public static void main(String args[]){double sum=0,a=1,b=1,fuhao=1,item=a/b;int i=1;while(i<=1000){sum=sum+fuhao*item;i++;fuhao=fuhao*(-1);b=b+2;item=a/b;}System.out.println("sum="+sum);}}5.public class ZuoYe3_5{public static void main(String args[]){double sum=0,a=1;int i=1;while(i<=20){if(i>=10)sum=sum+a;i++;a=a*i;}System.out.println("sum="+sum);}}8.第四章作业题1.class DengCha{int start,d;DengCha(){}DengCha(int start,int d){this.start=start;this.d=d;}void setStart(int s){start=s;}void setD(int d){this.d=d;}int getSum(int n){int sum=0,i=1;while(i<=n){sum=sum+start;start=start+d;i++;}return sum;}}public class ZuoYe4_1{public static void main (String args[ ]){DengCha shulie=new DengCha(2,3);System.out.println(shulie.getSum(100));shulie.setStart(10);shulie.setD(5);System.out.println(shulie.getSum(9)); }}2.class Letter{public void printLetter(){for(char c='a';c<='z';c++)System.out.print(" "+c);}}public class ZuoYe4_2{public static void main (String args[ ]){Letter p=new Letter();p.printLetter();}}3.class SquareEquation{double a,b;static double c;double root1,root2;boolean boo;public SquareEquation(double a,double b,double c){ this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}public void getRoots(){if(boo){System.out.println("是一元2次方程");double disk=b*b-4*a*c;if(disk>=0){root1=(-b+Math.sqrt(disk))/(2*a);root2=(-b-Math.sqrt(disk))/(2*a);System.out.printf("方程的根:%f,%f\n",root1,root2);}else{System.out.printf("方程没有实根\n");}}else{System.out.println("不是一元2次方程");}}public void setCoefficient(double a,double b,double c){ this.a=a;this.b=b;SquareEquation.c=c;if(a!=0){boo=true;}else{boo=false;}}}public class ZuoYe4_3{public static void main(String args[ ]){SquareEquation equation1=new SquareEquation(4,5,1);SquareEquation equation2=new SquareEquation(3,5,-7);equation1.getRoots();equation2.getRoots();}}4.import java.util.Scanner;class A{int f(int m,int n){if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}if(m<n){ int temp=m;m=n;n=temp;}int a=m,b=n;int r=m%n;while(r!=0){ m=n;n=r;r=m%n;}return n;}}class B{A a;B(){a=new A();}int g(int m,int n){int temp=a.f(m,n);return m*n/temp;}}public class ZuoYe4_4{public static void main (String args[ ]){Scanner reader=new Scanner(System.in);System.out.println("输入2个正整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();A a=new A();B b=new B();System.out.println(m+"和"+n+"的最大公约数是"+a.f(m,n));System.out.println(m+"和"+n+"的最小公倍数是"+b.g(m,n));}}5.import java.applet.Applet;import java.awt.*;public class Example4_10 extends Applet{Button redbutton;public void init(){redbutton=new Button("我是一个红色的按钮");redbutton.setBackground(Color.red);redbutton.setForeground(Color.white);add(redbutton);}}第五章作业题1.import java.util.Scanner;class A{public int f(int m,int n){if(m<n){int temp=m;m=n;n=temp;}int r=m%n;while(r!=0){m=n;n=r;r=m%n;}return n;}}class B extends A{public int f(int m,int n){int division=super.f(m,n);return (m*n)/division;}}public class ZuoYe5_1{public static void main (String args[ ]){A a=new A();B b=new B();Scanner reader=new Scanner(System.in);System.out.println("输入2个整数,程序计算出它们的最大公约数和最小公倍数");System.out.print("输入第一个整数:");int m=reader.nextInt();System.out.print("输入第二个整数:");int n=reader.nextInt();if(m*n<0){ System.out.println("有负数,程序退出");System.exit(0);}System.out.printf("%d和%d的最大公约数是%d\n",m,n,a.f(m,n));System.out.printf("%d和%d的最小公倍数是%d\n",m,n,b.f(m,n));}}2.abstract class A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}class A1 extends A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 extends A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 extends A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_2{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}3.interface A{public abstract void f(int x);public abstract void g(int x,int y);public abstract double h(double x);}class A1 implements A{public void f(int x){System.out.println(x);}public void g(int x,int y){int z=x+y;System.out.println(z);}public double h(double x){return x*x;}}class A2 implements A{public void f(int x){System.out.println("Hello:"+x);}public void g(int x,int y){int z=x-y;System.out.println(z);}public double h(double x){return Math.sqrt(x);}}class A3 implements A{public void f(int x){System.out.println("你好:"+x);}public void g(int x,int y){double z=(double)x/y;System.out.println(z);}public double h(double x){return 1/x;}}public class ZuoYe5_3{public static void main(String args[ ]){A a=new A1();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A2();a.f(10);a.g(12,20);System.out.println(a.h(100));a=new A3();a.f(10);a.g(12,20);System.out.println(a.h(100));}}4.class Cubic{ double getCubic(int n){ return 0;}}abstract class Sqrt{ public abstract double getSqrt(int x); }class A{ void f(Cubic cubic){ double result=cubic.getCubic(3);System.out.println(result);}}public class ZuoYe5_4{ public static void main(String args[]) { A a=new A();a.f(new Cubic(){ double getCubic(int n){ return n*n*n;}});Sqrt ss=new Sqrt(){ public double getSqrt(int x){ return Math.sqrt(x);}};double m=ss.getSqrt(5);System.out.println(m);}}5.class IntegerException extends Exception{ String message;IntegerException(int m){ message="年龄"+m+"不合理";}public String toString(){ return message;}}class People{ private int age=1;public void setAge(int age) throws IntegerException{if(age>=160||age<=0)throw new IntegerException(age); //方法抛出异常,导致方法结束elsethis.age=age;}public int getAge(){ System.out.println("年龄"+age+"合理");return age;}}public class ZuoYe6_5{ public static void main(String args[]){ People wang=new People(),zhang=new People();try { wang.setAge(189);System.out.println(wang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}try { zhang.setAge(28);System.out.println(zhang.getAge());}catch(IntegerException e){ System.out.println(e.toString());}}}第六章作业题1.import java.util.regex.*;import java.util.*;public class ZuoYe6_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("[24680]A[13579]{2}");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print("从"+m.start()+"到"+m.end()+"匹配模式子序列:");System.out.println(str);}}}2.import java.util.regex.*;import java.util.*;public class ZuoYe4_1{public static void main(String args[ ]){Scanner reader=new Scanner(System.in);String s1=reader.nextLine();Pattern p;Matcher m;p=pile("\\d+");m=p.matcher(s1);while(m.find()){String str=m.group();System.out.print(str);}}}第七章作业题1.import java.util.*;public class ZuoYe7_2{ public static void main(String args[]){int year,month;try{year=Integer.parseInt(args[0]);month=Integer.parseInt(args[1])+1;}catch(NumberFormatException e){year=2004;month=1;}System.out.println(" 日一二三四五六");Calendar 日历=Calendar.getInstance();日历.set(year,month,1);int 星期几=日历.get(Calendar.DAY_OF_WEEK)-1;String a[]=new String[星期几+31];for(int i=0;i<星期几;i++){ a[i]="**";}for(int i=星期几,n=1;i<星期几+31;i++){ if(n<=9)a[i]=String.valueOf(n)+" ";elsea[i]=String.valueOf(n) ;n++;}for(int i=0;i<a.length;i++){ if(i%7==0){ System.out.println("");}System.out.print(" "+a[i]);}}}2.class ZuoYe7_2{ public static void main(String args[]){int year1,month1,day1,year2,month2,day2;try{year1=Integer.parseInt(args[0]);month1=Integer.parseInt(args[1]);day1=Integer.parseInt(args[2]);year2=Integer.parseInt(args[3]);month2=Integer.parseInt(args[4]);day2=Integer.parseInt(args[5]);}catch(NumberFormatException e){year1=2009;month1=0;day1=1;year2=2008;month2=0;day2=1;}Calendar calendar=Calendar.getInstance();calendar.set(year1,month1,day1);long timeYear1=calendar.getTimeInMillis();calendar.set(year2,month2,day2);long timeYear2=calendar.getTimeInMillis();long 相隔天数=Math.abs((timeYear1-timeYear2)/(1000*60*60*24));System.out.println(""+year1+"年"+month1+"月"+day1+"日和"+year2+"年"+month2+"月"+day2+"日相隔"+相隔天数+"天");}}3.import java.math.*;public class ZuoYe4_1{public static void main(String args[]){BigInteger chengji=new BigInteger("1"),ONE=new BigInteger("1"),i=ONE,m=new BigInteger("10");while(pareTo(m)<=0){chengji=chengji.multiply(i);i=i.add(ONE);}System.out.println(chengji);}}4.import java.util.*;public class ZuoYe7_4{public static void main(String args[]){HashSet<Integer> A=new HashSet<Integer>(),B=new HashSet<Integer>(),tempSet=new HashSet<Integer>();A.add(new Integer(1));A.add(new Integer(2));A.add(new Integer(3));A.add(new Integer(4));B.add(new Integer(1));B.add(new Integer(3));B.add(new Integer(7));B.add(new Integer(9));B.add(new Integer(11));tempSet=(HashSet<Integer>)A.clone();tempSet.retainAll(B);System.out.println("交:");Iterator<Integer> iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.addAll(B);iter=tempSet.iterator();System.out.println("并:");while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}tempSet=(HashSet<Integer>)A.clone();tempSet.removeAll(B);System.out.println("差:");iter=tempSet.iterator();while(iter.hasNext()){Integer te=iter.next();System.out.printf("%d,",te.intValue());}}}5.import java.util.*;class MyKey implements Comparable{double number=0;MyKey(double number){this.number=number;}public int compareTo(Object b){MyKey st=(MyKey)b;if((this.number-st.number)==0){return -1;}else{return (int)((this.number-st.number)*1000);}}}class 硬盘{int size;double price;硬盘(int n, double p){size=n;price=p;}}public class ZuoYe4_1{public static void main(String args[ ]){int [] size={10,3,7,12,10,22,100,4,6,2};double [] price={1.2,9.56,2.4,9.3,16.77,12.66,7.4,5.5,5.6,8.9,1.9};硬盘[] s=new 硬盘[10];for(int i=0;i<s.length;i++)s[i]=new 硬盘(size[i],price[i]);TreeMap<MyKey,硬盘> treemap=new TreeMap<MyKey,硬盘>();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].size),s[i]);int number=treemap.size();System.out.println("树映射中有"+number+"个对象:");Collection<硬盘> collection=treemap.values();Iterator<硬盘> iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}treemap.clear();for(int i=0;i<s.length;i++)treemap.put(new MyKey(s[i].price),s[i]);number=treemap.size();System.out.println("树映射中有"+number+"个对象:");collection=treemap.values();iter=collection.iterator();while(iter.hasNext()){硬盘te=iter.next();System.out.println(te.size+","+te.price);}}}第八章作业题1.属于操作题目,省略2.参见例子8-23.参见例子8-34.参见例子8-10第九章作业题1.import java.io.*;import java.awt.*;import java.awt.event.*;public class ZuoYe9_1{ public static void main(String args[]){ int b;byte tom[]=new byte[25];try{ File f=new File("Example.java");FileInputStream in=new FileInputStream(f);while((b=in.read(tom,0,25))!=-1){ String s=new String (tom,0,b);System.out.print(s);}in.close();}catch(IOException e){ System.out.println("File read Error"+e);}}}2.import java.io.*;import java.util.*;public class ZuoYe9_2{public static void main(String args[]){Scanner reader=new Scanner(System.in);int b;try{FileOutputStream writefile=new FileOutputStream("line.txt");int line=1,n=10;System.out.println("输入"+n+"行文本,并存入磁盘:");while(line<=n){String s=reader.nextLine();byte buffer[]=s.getBytes();writefile.write(buffer,0,buffer.length);line++;}writefile.close();}catch(IOException e){System.out.println("Error "+e);}}}3.import java.io.*;public class ZuoYe9_3{public static void main(String args[ ]){int n=-1;CharArrayWriter out=new CharArrayWriter();for(char c='а';c<='я';c++){out.write(c);}CharArrayReader in=new CharArrayReader(out.toCharArray());try{ while((n=in.read())!=-1){if(n%2==0){System.out.printf("\n");}System.out.printf("\t位置%d,字符\'%c\'",n,(char)n);}}catch(IOException e){}}}4.import java.io.*;import java.util.*;public class ZuoYe9_4{public static void main(String args[]){try{FileOutputStream fos=new FileOutputStream("jerry.dat");DataOutputStream out_data=new DataOutputStream(fos);Scanner reader=new Scanner(System.in);for(int i=1;i<=10;i++){int x=reader.nextInt();out_data.writeInt(x);}out_data.close();}catch(IOException e){}try{FileInputStream fis=new FileInputStream("jerry.dat");DataInputStream in_data=new DataInputStream(fis);for(int i=1;i<=10;i++){int m=in_data.readInt();System.out.print(" "+m);}in_data.close();}catch(IOException e){}}}5.import java.io.*;import java.util.*;class Student implements Serializable{String name ;int number;Student(String name,int number){=name;this.number=number;}}public class ZuoYe9_5{public static void main(String args[]){List<Student> list=new LinkedList<Student>();List<Student> cloneList=null;for(int k=1;k<=12;k++)list.add(new Student("I am "+k,k));try{ FileOutputStream fileOut=new FileOutputStream("a.txt");ObjectOutputStream objectOut=new ObjectOutputStream(fileOut);objectOut.writeObject(list);FileInputStream fileIn=new FileInputStream("a.txt");ObjectInputStream objectIn=new ObjectInputStream(fileIn);cloneList=(List)objectIn.readObject();}catch(Exception event){System.out.println(event);}Iterator iter=cloneList.iterator();while(iter.hasNext()){Student te=(Student)iter.next();System.out.println(te.number+","+);}}}6.import java.io.*;public class ZuoYe9_6{ public static void main(String args[]){File f=new File("Xiti12_6.java");try{ RandomAccessFile random=new RandomAccessFile(f,"rw");random.seek(0);long m=random.length();while(m>=0){ m=m-1;random.seek(m);int c=random.readByte();if(c<=255&&c>=0){ System.out.print((char)c);}else{ m=m-1; //一个汉字占2个字节random.seek(m);byte cc[]=new byte[2];random.readFully(cc);System.out.print(new String(cc));}}random.close();}catch(IOException ee){}}}5.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_5{ public static void main(String args[]){ ComputerFrame fr=new ComputerFrame();fr.setTitle("计算");}}class ComputerFrame extends JFrame implements ActionListener { JTextField text1,text2,text3;JButton button1,button2,button3,button4;JLabel label;public ComputerFrame(){setLayout(new FlowLayout());text1=new JTextField(10);text2=new JTextField(10);text3=new JTextField(10);label=new JLabel(" ",JLabel.CENTER);label.setBackground(Color.green);add(text1);add(label);add(text2);add(text3);button1=new JButton("加");button2=new JButton("减");button3=new JButton("乘");button4=new JButton("除");add(button1);add(button2);add(button3);add(button4);button1.addActionListener(this);button2.addActionListener(this);button3.addActionListener(this);button4.addActionListener(this);setSize(400,320);setVisible(true);setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);validate();}public void actionPerformed(ActionEvent e){ double n;if(e.getSource()==button1){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1+n2;text3.setText(String.valueOf(n));label.setText("+");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button2){ double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1-n2;text3.setText(String.valueOf(n));label.setText("-");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button3){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1*n2;text3.setText(String.valueOf(n));label.setText("*");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}else if(e.getSource()==button4){double n1,n2;try{ n1=Double.parseDouble(text1.getText());n2=Double.parseDouble(text2.getText());n=n1/n2;text3.setText(String.valueOf(n));label.setText("/");}catch(NumberFormatException ee){ text3.setText("请输入数字字符");}}validate();}}6.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_6{ public static void main(String args[]){ new WindowPanel();}}class Mypanel extends JPanel implements ActionListener { JButton button;JTextField text;Mypanel(){ button=new JButton(" ");text=new JTextField(12);add(button);add(text);button.addActionListener(this);}public void actionPerformed(ActionEvent e){ String name=text.getText();if(name.length()>0)button.setText(name);validate();}}class WindowPanel extends JFrame{ Mypanel panel1,panel2;WindowPanel(){ panel1=new Mypanel();panel2=new Mypanel();panel1.setBackground(Color.red);panel2.setBackground(Color.blue);add(panel1,BorderLayout.SOUTH);add(panel2,BorderLayout.NORTH);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}7.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_7{ public static void main(String args[]){ new WindowColor();}}class WindowColor extends JFrame{ JButton button;JTextField text;JComboBox list;WindowColor(){ setLayout(new FlowLayout());button=new JButton("hello");button.setBackground(Color.pink);button.setForeground(new Color(12,26,200));text=new JTextField("how are you");text.setBackground(Color.yellow);text.setForeground(new Color(200,26,20));list=new JComboBox();list.addItem("Hello");list.addItem("Java");list.setBackground(Color.cyan);list.setForeground(new Color(100,100,100));add(list);add(button);add(text);setSize(300,320);setVisible(true);validate();setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}8.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class Xiti8_8{ public static void main(String args[]){ MoveFrame f=new MoveFrame();f.setBounds(12,12,300,300);f.setVisible(true);f.setTitle("移动");f.validate();f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);}}class MoveFrame extends JFrame implements ActionListener{ JButton controlButton,movedButton;public MoveFrame(){ controlButton=new JButton("单击我运动另一个按钮");controlButton.addActionListener(this);movedButton=new JButton();movedButton.setBackground(new Color(12,200,34));setLayout(null);add(controlButton);add(movedButton);controlButton.setBounds(10,30,180,30);movedButton.setBounds(100,100,20,20);}public void actionPerformed(ActionEvent e){ int x=movedButton.getBounds().x;int y=movedButton.getBounds().y;x=x+5;y=y+1;movedButton.setLocation(x,y);if(x>200){ x=100;y=100;}}}9.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new LP(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class LP extends JLayeredPane implements MouseListener,MouseMotionListener { JButton button[];JTextField text[];int x,y,a,b,x0,y0;LP(){ setLayout(new FlowLayout());button=new JButton[8];for(int k=0;k<button.length;k++){ button[k]=new JButton("用鼠标拖动我");add(button[k]);button[k].addMouseListener(this);button[k].addMouseMotionListener(this);}text=new JTextField[10];for(int k=0;k<text.length;k++){ text[k]=new JTextField("用鼠标拖动我");text[k].addMouseListener(this);add(text[k]);text[k].addMouseMotionListener(this);}addMouseMotionListener(this);}public void mousePressed(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DRAG_LAYER);a=com.getBounds().x;b=com.getBounds().y;x0=e.getX(); //获取鼠标在事件源中的位置坐标y0=e.getY();}public void mouseReleased(MouseEvent e){ Component com=null;com=(Component)e.getSource();setLayer(com,JLayeredPane.DEFAULT_LAYER);Component component[]=this.getComponents();for(int k=0;k<component.length;k++){ Rectangle rect1=component[k].getBounds();Rectangle rect2=com.getBounds();if(rect1.intersects(rect2)&&com!=component[k]){ component[k].setVisible(false);//this.remove(component[k]);}}}public void mouseEntered(MouseEvent e) {}public void mouseExited(MouseEvent e) {}public void mouseClicked(MouseEvent e){}public void mouseMoved(MouseEvent e){}public void mouseDragged(MouseEvent e){ Component com=null;if(e.getSource() instanceof Component){ com=(Component)e.getSource();b=com.getBounds().y;x=e.getX(); //获取鼠标在事件源中的位置坐标y=e.getY();a=a+x;b=b+y;com.setLocation(a-x0,b-y0);}}}10.import java.awt.*;import java.awt.event.*;import javax.swing.*;public class E{ public static void main(String args[]){ JFrame fr=new JFrame();fr.add(new MoveButton(),BorderLayout.CENTER);fr.setVisible(true);fr.setBounds(12,12,300,300);fr.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);fr.validate();}}class MoveButton extends JLayeredPane implements KeyListener { JButton b[]=new JButton[8];int x,y;MoveButton(){ setLayout(new FlowLayout());for(int i=0;i<8;i++){ b[i]=new JButton(""+i);b[i].addKeyListener(this);add(b[i]);}}public void keyPressed(KeyEvent e){ int moveDistance=1;Component com=(Component)e.getSource();int x=(int)com.getBounds().x;。

Java程序设计实用教程(第2版)第5章_子类与继承

Java程序设计实用教程(第2版)第5章_子类与继承
2019/8/2 18
例5-5 Example5_5.java 例5-5中,子类B重写了父类的computer()方法,运行效果如图5.5
例5-5中,如果子类如下重写方法computer将产生编译错误。
double computer(float x,float y) { return x*y;
}
其原因是,父类的方法computer的类型是float,子类的重写方 法computer没有和父类的方法computer保持类型一致,这样子 类就无法隐藏继承的方法,导致子类出现2个方法的名字相同, 参数也相同,这是不允许的。
2019/8/2 9
§5.2.4 继承关系(Generalization)的UML图
如果一个类是另一个 类的子类,那么UML通过 使用一个实线连接两个 类的UML图来表示二者之 间的继承关系,实线的 起始端是子类的UML图, 终点端是父类的UML图, 但终点端使用一个空心 的三角形表示实线的结 束。
2019/8/2 7
§5.2.2 子类和父类不在同一包中的继承性
如果子类和父类不在同一个包中,那么,子 类 继 承 了 父 类 的 protected、public 成 员 变 量 做 为子类的成员变量,并且继承了父类的 protected、public 方 法 为 子 类 的 方 法 , 继 承 的 成员或方法的访问权限保持不变。
2019/8/2 8
§5.2.3 protected的进一步说明 ( 选讲 )
一个类A中的protected成员变量和方法可以被它的直接子类 和间接子类继承,如B是A的子类,C是B的子类,D又是C的子类, 那么B、C和D类都继承了A类的protected成员变量和方法。
如果用D类在D中创建了一个对象,该对象总是可以通过“.” 运算符访问继承的或自己定义的protected变量和protected方法 的,但是,如果在另外一个类中,如在Other类中用D类创建了一个 对 象 object, 该 对 象 通 过 “ . ” 运 算 符 访 问 protected 变 量 和 protected方法的权限如所述。 ( 1 ) 对 于 子 类 D 中 声 明 的 protected 成 员 变 量 和 方 法 , 如 果 object要访问这些protected成员变量和方法,只要Other类和D 类在同一个包中就可以了。 (2)如果子类D的对象的protected成员变量或protected方法是 从父类继承的,那么就要一直追溯到该protected成员变量或方 法的“祖先”类,即A类,如果Other类和A类在同一个包中,那 么object对象能访问继承的protected变量和protected方法。

电子教案(Java大学实用教程)电子教案 第1章

电子教案(Java大学实用教程)电子教案  第1章

电子教案(Java大学实用教程)电子教案第1章电子教案(java大学实用教程)电子教案--第1章电子教案(java大学实用教程)java大学实用教程耿祥义编著电子教案(java大学实用教程)第1章java语言详述章语言详述本章编者按1.java语言的问世2.自学java的必要性3.java的特点4.java与c/c++之关系5.java运转平台6.java程序开发7.sdk1.5编译器的新规定电子教案(java大学实用教程)1.1java语言的问世java问世于1995年,就是sun公司非政府研发的一编程语言,主要贡献者就是jamesgosling。

1990年sun公司成立了由jamesgosling领导的开发小组,开始致力于开发一种可移植的、跨平台的语言,该语言能生成正确运行于各种操作系统、各种cpu芯片上的代码。

他们的钻研和努力促成了java语言的诞生。

java的发展得利于internet和web的出现,internet上有各种不同的计算机,它们可能使用完全不同的操作系统和cpu芯片,但仍希望运行相同的程序,java的出现标志着真正的分布式系统的到来。

返回电子教案(java大学实用教程)1.2学习java的必要性java不仅可以用来开发大型的桌面应用程序,而且特别适合于internet的应用开发。

目前,java语言不仅是一门正在被广泛使用的编程语言,而且已成为软件设计开发者应当掌握的一门基础语言。

java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,而且很多新的技术领域都涉及到了java语言,因此,学习和掌握java已成为共识,国内外许多大学已将java语言列入了本科教学计划,it行业对java人才的需求正在不断的增长,一些软件公司对其开发人员周期地进行java的基础培训工作。

在it行业发达的北美洲,有将近60%的软件开发人员在使用java完成他们的工作,evansdata公司在2002年做的一项调查中发现,在北美洲,java的使用率已经接近c/c++。

Java程序设计实用教程习题答案作者耿祥义张跃平Java程序设计实用教程_邮电_习题答案.docx

Java程序设计实用教程习题答案作者耿祥义张跃平Java程序设计实用教程_邮电_习题答案.docx

习题11 • J ames Gosling2 .需3个步骤:1) 用文本编辑器编写源文件。

2) 使用javac编译源文件,得到字节码文件。

3) 使用解释器运行程序。

3 ・ set path= D:\jdk\bin;set classpath= D :\jdk\jre\lib\ rt.jar;4 ・ B) javac.exe5 • j ava 和class6. D) public static void main (String args[])习题21 . B ) int_ long ,D) $Boy262 .【代码1】,【代码3】是错误的3 . float常量必须用F或f为后缀。

double常量用D或d为后缀,但允许省略后缀。

4 .publ i c class E {publ i c s t a t i c voi d mai n( St r i ng a r gs []){ Sys t e m out. pr i nt I n( (i nt)'思');Sys t e m out. pr i nt I n( (i nt)'故');Sys t e m out. pr i nt I n( (i nt)'乡');}}习题31 . 110if-else语句书写的不够规范?2.不正正歪!!3 .public class Xiti3 {void giveMess(int number){ if(number^ = 9 |pumber= = 131 | number = 12){System.out.pri ntl n(number+ "是三等奖”);}else if(number= = 209 |number= = 596 |number==27) { System.out.println(number+ "是二等奖”);}else if(number= = 875 | number=316 |number= = 59) { System.out.println(number+"是一等奖");}else{System, out. pri ntl n("未中奖”);}}}4 •public class Xiti4 {public static void main (String args[]) { char cStart= *a \cE nd二'只: for(char c= cStart;c< = cE nd;c+ +) System.out.printf(,,%2c,,/c);System.out.pri ntln();for(char c= cStart;c< = cE n d;c+ +) System out pri ntf("%2c",(c+32));}}5 •public class XitiS {public static void main (String args[]) {double sum = OJtem = 1;int i = 1r n = 20;while(i< = n) {sum= sum+ item;i= i+1;item=}System, out. pri ntl n(H sum=n+ sum);}}6 •public class Xiti6 {public static void main(String args[]) {int sum= OJJ;for(i=1;i< = 1000;i+ + ) { for(j= 1,sum= O;j<i;j+ +){if(i%j==O) sum= surr^j;}if(surn= = i)System, out. printing 完数:”+ i); }}}public class Xiti7 {public static void main(String args[]) {int n= 1」=1jiecheng=1;long sum=0;while(true){jiecheng=1;for(i=1;i<=n;i++){jieche ng二jiecheng*i;}surrrsum+jiecheng;if(sum> 9999)break;叶+;}System.out.println("满足条件的最大整数:"+(n-1));}}习题41 .用类创建对象时。

Java2实用教程课件(第2章)-PPT课件

Java2实用教程课件(第2章)-PPT课件

例子2 (效果如图2.2)
public class Example2_2 { public static void main (String args[ ]) { int c=2200; long d=8000; float f; double g=123456789.123456789; c=(int)d; f=(float)g; //导致精度的损失. System.out.print("c= "+c); System.out.println(" d= "+d); System.out.println("f= "+f); System.out.println("g= "+g); } }
2.1 标识符和关键字
用来标识类名、变量名、方法名、类型名、 数组名、文件名的有效字符序列称为标识符。 简单地说,标识符就是一个名字。 Java语言规定标识符由字母、下划线、美元 符号和数字组成,并且第一个字符不能是数 字字符。 关键字就是Java语言中已经被赋予特定意义 的一些单词。不可以把这类词作为名字来用。
常量 Java使用unicode字符集,uincode表 中的字符就是一个字符常量,字符常量需使 用单引号扩起,例如:'A'、 'b'、 '?' 、'!' 、'9'、 '好' 、'\t' 、'き'、 'δ' 变量 使用关键字char来定义字符变量,可 以一次定义几个,定义时也可以赋给初值: char x='A',tom='爽',jiafei; 对于char型变量,内存分配给2个字节,占16 位,最高位不用来表示符号 。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档