A. java B. .class C. html D. .exe
A. 3 B. 3. 5 C. 4 D. 5
A. public B. private C. static D. protected
A、在Java中类只允许单一继承
B、在Java中一个类只能实现一个接口
C、在Java中一个类不能同时继承一个类和实现一个接口
D、在Java中接口只允许单一继承
A. static void method( ) B. public void method( )
C. final void method( ) D. abstract void method( )
A、 String args B、String args[]
C、Char arg D、StringBuffer args[]
A、s += "books"; B、s = s + 100;
C、int len = s.length; D、String t = s + “abc”;
A、程序员必须创建一个线程来释放内存
B、内存回收程序负责释放无用内存
C、内存回收程序允许程序员直接释放内存
D、内存回收程序可以在指定的时间释放内存对象
1.
2 .public class Interesting{
3. //do sth
4.}
A、import java.awt.*; B、package mypackage;
C、class OtherClass{ } D、public class MyClass{ }
a = Integer.parseInt(“12”);
b = Integer.valueOf(“12”).intValue();
下述说法正确的是( )。
A、a是整数类型变量,b是整数类对象。
B、a是整数类对象,b是整数类型变量。
C、a和b都是整数类对象并且值相等。
D、a和b都是整数类型变量并且值相等。
17.在使用interface声明一个接口时,只可以使用下面哪个修饰符修饰该接口。 ( )
A.private B.protected C.private D.public
A.方法没有返回值 B. 方法体为空
C.没有意义 D. 定义方法时必须使用
A.只能让方法返回数值 B.方法都必须含有
C.方法中可以有多句return D.不能用来返回对象
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
A.方法main()只能放在公共类中
B main()的头定义可以根据情况任意更改
C.一个类中可以没有main()方法
D.所有对象的创建都必须放在main()方法中
A、创建对象时 B、类定义时
C、使用对象的方法时 D、使用对象的属性时
A、可以有方法体
B、可以出现在非抽象类中
C、是没有方法体的方法
D、抽象类中的方法都是抽象方法
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
A、重写只有发生在父类与子类之间,而重载可以发生在同一个类中
B.重写方法可以不同名,而重载方法必须同名
C.final修饰的方法可以被重写,但不能被重载
D.重写与重载是同一回事
A.程序执行过程中遇到的事先没有预料到的情况
B.程序中的语法错误
C.程序的编译错误
D.以上都是
A、int B、Boolean C、float D、char
A、static B、package C、private D、public
public class Person{
static int arr[] = new int[5];
public static void main(String args[])
{
System.out.println(arr[0]); }
}
A、编译时将产生错误 B、编译时正确,运行时将产生错误
C、输出零 D、输出空
A、private B、protected C、private D、public
A、fieldname B、super C、3number D、#number
A.if语句和 else语句必须成对出现
B.if语句可以没有else语句对应
C.switch结构中每个case语句中必须用break语句
D.switch结构中必须有default语句
A.没有区别,这两个结构任何情况下效果一样
B.while循环比 do…while循环执行效率高
C.while循环是先循环后判断,所以循环体至少被执行一次
D.do…while循环是先循环后判断,所以循环体至少被执行一次
A.private B.public C.protected D.final
A.方法没有返回值 B. 方法体为空
C.没有意义 D. 定义方法时必须使用
A.同一个类的对象共用同一段内存
B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间
C.对象的方法不占用内存
D.以上都不对
A.不需要定义类,就能创建对象
B.对象中必须有属性和方法
C.属性可以是简单变量,也可以是一个对象
D、属性必须是简单变量
A、一个程序可以包含多个源文件
B、一个源文件中只能有一个类
C、一个源文件中可以有多个公共类
D、一个源文件只能供一个程序使用
A、子类将继承父类所有的属性和方法。
B、子类将继承父类的非私有属性和方法。
C、子类只继承父类public方法和属性
D、子类只继承父类的方法,而不继承属性
A、一个类只能有一个构造函数
B、一个类可以有多个不同名的构造函数
C、构造函数与类同名
D、构造函数必须自己定义,不能使用父类的构造函数
A、实现一个接口必须实现接口的所有方法
B.一个类只能实现一个接口
C.接口间不能有继承关系
D.接口和抽象类是同一回事
A、必须使用try/catch语句处理异常,或用throw将其抛出
B.如果程序错误,必须使用 try/catch语句处理异常
C.可以置之不理
D.只能使用try/catch语句处理
A.前者带有缓冲,后者没有
B.前者是块读写,后者是字节读写
C. 二者没有区别,可以互换使用
D. 每次读写的字节数不同
A.FileInputStream
B.BufferedInputStream
C. FilterInputStream
D. InputStreamReader
A.java.exe B.javac.exe C.javaap.exe D.javaw.exe
A、import语句告诉Java用户需要哪个包(package!)中的类
B、所有的类必须实例化,才能调用它的数据成员和方法
C、package语句用于将源文件存入所指定的包中
D、System类不可能实例化,它的所有方法都是通过类变量来调用的
A、public void example( ){...} B、public void example( int m ){...}
C、public void example2( ){...} D、public int example ( ){...}
A、形式参数个数或者类型不同 B、返回值类型不同
C、调用时用类名或对象名做前缀 D、形式参数名称不同(自己定义)
A、 x( int m){ ... } B、 void x( int m){ ... }
C、 x( int m, int n){ ... } D、 x( int h,int m,int n){ ... }
A、类成员变量在使用之前可以不初始化 B、局部变最在使用之前可以不初始化
C、参数变量在使用之前必须初始化 D、所有的变量在使用之前必须初始化
A.创建File对象可能发生异常。
B.BufferedReader流可以指向FileInputStream流。
C.BufferedWrite流可以指向FileWrite。
D.RandomAccessFile流一旦指向文件,就会刷新该文件。
A.try{ OutputStream out=new FileOutputStream(“hello.txt”);}
catch(IOException e) { }
B.try{ OutputStream out=new FileOutputStream(“hello.txt”,true);}
catch(IOException e) { }
C.try{ OutputStream out=new FileOutputStream(“hello.txt”,false);}
catch(IOException e) { }
D.try{ OutputStream out=new OutputStream(“hello.txt”,true);}
catch(IOException e) { }
A、 final B、 finally C、null D、sizeof
A、 int a[][] = new int[][];
B、 int a[100][100] = new int[][];
C、 int []a[] = new int[100][100];
D、 int a[][] = new int[100][100];
A、abstract void method( ) B、final void method( )
C、public void method( ) D、static void method( )
class Test{ |
private int m; |
public static void fun() { |
// some code... |
} |
} |
如何使成员变量m 被函数fun()直接访问? ( C )
A、将private int m 改为protected int m
B、将private int m 改为public int m
C、将private int m 改为 static int m
D、将private int m 改为 int m
A、 ArrayList myList=new Object( ); B、 List myList=new ArrayList( );
C、 ArrayList myList=new List( ); D、 List myList=new List( );
A、public void example( ){...}
B、public void example( int m ){...}
C、public void example2( ){...}
D、public int example ( ){...}
Float s=new Float(0.1f); |
Float t=new Float(0.1f); |
Double u=new Double(0.1); |
A、s==t B、s.equals(t)
C、u.equals(s) D、t.equals(u)
public class Test5{ |
public static void main(String args[]){ |
String s1=new String("hello"); |
String s2="hello"; |
System.out.print(s1==s2); System.out.print(","); |
System.out.println(s1.equals(s2)); |
} |
} |
A、true,false B、true,true
C、false,true D、false,false
public class Test{ |
public static void main ( String arg[] ) |
{ |
long a[] = new long[6]; |
System.out.println ( a[6] ); |
} |
} |
请问哪个语句是正确的? ( D )
A、程序输出 null B、 程序输出 0
C、因为long[]数组声明不正确,程序不能被编译
D、程序被编译,但在运行时将抛出一个ArrayIndexOutOfBoundsException异常
A、程序编译错误 B、程序语法错误
C、程序运行时的错误 D、程序编译和运行时发生的错误
A、一个类的构造函数可以有多个
B、构造函数在类定义时被调用
C、构造函数只能由对象中的其它方法调用
D、构造函数可以和类同名,也可以和类名不同
A、 x( int m){ ... } B、 void x( int m){ ... }
C、 x( int m, int n){ ... } D、 x( int h,int m,int n){ ... }
A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性
B、子类只能继承父类的方法,不能继承父类的属性
C、子类只能继承父类的非私有属性,不能继承父类的方法
D、子类不能继承父类的私有属性
A、构造方法不可以进行方法重载 | B、构造方法用来初始化该类的一个新的对象 |
C、构造方法具有和类名相同的名称 | D、构造方法不返回任何数据类型 |
int i=8, j=16;
if( i-1 > j ) i--; else j--;
A、 15 | B、 16 | C、 7 | D、 8 |
for ( int i = 0; true ; i++) ;
A、 有语法错,不能执行 | B、 无限次 |
C、 执行1次 | D、 一次也不执行 |
A. int Array[]; | B. int a[]={1,2,3,4,5}; |
C. int Array=new int[3]; | D. int[][] a=new int[2][]; |
int Array[1]=1; | a[0]=new int[3]; |
int Array[2]=2; | a[1]=new int[3]; |
int Array[3]=3; |
public class test { |
public static void main(String args[]) { |
int a = 0; |
outer: for (int i = 0; i < 2; i++) { |
for (int j = 0; j < 2; j++) { |
if (j > i) continue outer; |
a++; |
} |
} |
System.out.println(a); |
} |
} |
A、0 B、2 C、3 D、4
A、package语句(0句或1句) B、接口定义语句(1个或多个接口定义)
C、import语句(0句或多句) D、类定义(1个或多个类定义)
A、private | B、 static | C、abstract | D、 protected |
int i=10, j=18, k=30; |
switch( j - i ) |
{ case 8 : k++; |
case 9 : k+=2; |
case 10: k+=3; |
default : k/=j; |
} |
A、 31 B、32 C、2 D、33
public class ArrayTest { | |||
public static void main(String args[]) { | |||
try { | |||
int x[]=new int[-5]; | |||
System.out.println("此行将无法被执行!"); | |||
} catch(NegativeArraySizeException e) { | |||
System.out.println("exception: 数组下标不能为负数。"); | |||
} | |||
} | |||
} | |||
A、编译通过,输出: | B、编译通过,输出: | ||
此行将无法被执行! | 此行将无法被执行! | ||
exception: 数组下标不能为负数。 | |||
C、编译通过,输出: | D、编译不能通过 | ||
exception: 数组下标不能为负数。 | |||
A、init() B、start() C、destroy() D、stop()
A、 class, float, double, public B、 float, boolean, int, long
C、 char, extends, float, double D、 public, private, protected
A、private B、protected
C、private protected D、public
A、继承ObjectStream类 B、具有带参数构造方法
C、实现Serializable接口 D、定义了WriteObject方法
public class Example{ |
String str=new String("good"); |
char[] ch={'a','b','c'}; |
public static void main(String args[]){ |
Example ex=new Example(); |
ex.change(ex.str,ex.ch); |
System.out.print(ex.str+" and "); |
Sytem.out.print(ex.ch); |
} |
public void change(String str, char ch[]){ |
str="test ok"; |
ch[0]='g'; |
} |
} |
String s1=new String(“Hello”);
String s2=new String(“there”);
String s3=new String();
以下哪种操作是合法的? ( A )
A、 s3=s1+s2; B、 s3=s1-s2;
C、 s3=s1&s2; D、 s3=s1&&s2;
A、 public int MAX_LENGTH=100;
B、 final int MAX_LENGTH=100;
C、 final public int MAX_LENGTH=100;
D、 public final int MAX_LENGTH=100;
A、 实现java.lang.Runnable 接口并重写 start()方法
B、 实现java.lang.Runnable 接口并重写 run()方法
C、 继承java.lang.Thread 类并重写 run()方法
D、 实现java.lang.Thread 类并实现 start()方法
解析:接口Runnable定义了run()方法;而Thread类本身也实现了Runnable接口,故创建线程有两种方法:
1、用实现Runnable接口的类的实例作参数生成Thread类的实例
2、编写继承Thread类的类,并重写(override)run()方法
故答案为C。
1) | public class Test { |
2) | int m, n; |
3) | public Test() {} |
4) | public Test(int a) { m=a; } |
5) | public static void main(String arg[]) { |
6) | Test t1,t2; |
7) | int j,k; |
8) | j=0; k=0; |
9) | t1=new Test() ; |
10) | t2=new Test(j, k) ; |
11) | } |
12) | } |
哪行将引起一个编译时错误? (D )
A、 line 3 B、 line 5 C、 line 6 D、 line 10
A、 transient B、 finally C、throw D、 static
A、 11和11 B、 10和10
C、 10和11 D、 11和10
A、面向对象 B、动态链接 C、有类库 D、跨平台
class A{
void methodl(){
System.out.println(”methodl 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.class D、B.java
A、import语句告诉Java用户需要哪个包(package!)中的类
B、所有的类必须实例化,才能调用它的数据成员和方法
C、package语句用于将源文件存入所指定的包中
D、System类不可能实例化,它的所有方法都是通过类变量来调用的
A、形式参数个数或者类型不同 B、返回值类型不同
C、调用时用类名或对象名做前缀 D、形式参数名称不同(自己定义)
A、long类型占存储空间和int类型一样大 B、long类型能表示的数值范围和int类型一样
C、long类型不能自动转换为int类型 D、常数Long.MIN_VALUE代表整型的最小值
A、类成员变量在使用之前可以不初始化 B、局部变最在使用之前可以不初始化
C、参数变量在使用之前必须初始化 D、所有的变量在使用之前必须初始化
public class exl8{
public static void main(String[]args){
int x=5,y=5; double c=10;
c%=(++x)*y;
System.out.println(c);
}
}
A、15.0 B、10.0 C、5.0 D、10.0
public class exl9{
public static void main(String[] args) {
int x=12,y=13,m=11;
int temp=x>y?x:y;
temp=temp>m?temp:m;
System.out.println(temp);
}
}
A、11 B、12 C、13 D、1
A、3 B、2 C、60 D、96
public class ex34{
public static void main(String[]args){
int mm = 32767;
short tt = (short) (++mm);
System.out.println(tt);
}
}
A、32767 B、32768 C、-32767 D、-32768
public class ex4{
public static void main(String[ ]args){
int j = 0;
for (int i = 3; i > 0; i--) {
j += i;
System.out.print(j);
}
}
}
A、4 B、6 C、34 D、356
public class Main {
public static void main(String[] args) {
int j = 2, i = 5;
while (j < i--)
j++;
System.out.println(j);
}
}
A、2 B、3 C、4 D、5
public class Main {
public static void main(String[] args) {
int x = 3;
do {
System.out.println("Hello!");
x--;
} while (x >= 0);
}
}
A、1次 B、2次 C、3次 D、4次
public class Main {
public static void main(String[] args) {
Main e = new Main();
e.method();
}
public void method() {
CC9 c1 = new CC9();
CC9_1 c2 = new CC9_1();
}
}
class CC9 {
static void method() {
System.out.println("in CC9");
}
}
class CC9_1 {
void method() {
System.out.println("in CC9_1");
}
}
A、 c1.method( ); B、CC9.method( ); C、CC9.method( ); D、c1.method( );
c2.method( ); CC9_1.method( ); c2.method( ); CC9_l.method( );
A、System.out.println(a[10]);
B、System.out.println(a(9));
C、System.out.println(a[a.1ength]);
D、System.Out.println(a[a.1ength-1]);
public class exl0 {
public static void main(String[] args) {
int i = 0;
try {
i = Integer.parseInt(args[0]);
} catch (Exception e) {
}
switch (i) {
case 0:
System.out.print("0");
case 1:
System.out.print("1");
default:
System.out.print("default");
}
}
}
A、打印"0" B、打印出"1"
C、打印出"default" D、打印出"1default"
A、任何从Throwable派生的类都可以用throw语句抛出
B、 Exception和Error是Throwable的直接派生类
C、异常抛出点后的代码在抛出异常后不再执行
D、Exception代表系统严重错误,一般程序不处理这类错误
A、异常可以由try代码段中的语句抛出
B、异常可以从被try代码段中调用的方法中抛出
C、异常的抛出并不影响代码段的执行顺序
D、异常还可能产生于数组下标越界及Java虚拟机内部的错误等
catch(Exception e){
System.out.println(“An exception was thrown”);
throw e;
}
A、异常机制可以用于流程控制
B、finally代码段在发生异常时不一定必须执行
C、在catch代码段中可以使用return语句来返回到异常抛出点
D、可以把catch到的异常对象再次抛出,使上层try—catch结构继续处理该异常事件
A、线程一旦创建,则立即自动进行
B、程创建后需要调用start()方法,将线程置于可运行状态
C、调用线程的start()方法后,线程也不一定能立即执行
D、线程处于可运行状态,意味着它可以被调度
A、main() B、start() C、run() D、init()
public class ex {
public static void main(String[] args) {
T1 t = new T1();
t.start();
}
}
class T1 extends Thread {
public void run() {
int a = 0;
do {
System.out.print(a + " ");
a++;
} while (a < 3);
}
}
A、 1 2 3 B、0 1 2 C、0 0 0 D、1 1 1
A、MIN_PRIORITY代表最低优先级 B、MAX_PRIORITY代表最高优先级
C、NOR_PRIORITY代表普通优先级 D、代表优先级的常数值越大优先级越低
A、GridLayout B、CardLayout C、BorderLayout D、BoxLayout
A、在Java中,若要处理某类事件,必须定义相关的事件处理类
B、在对事件源实例化之后,要注册相应事件的监听器
C、事件处理类必须实现与该类事件相对应的监听器接口
D、事件源通常是一个构件,也称做监听器
A. smallButton.add(myListener);
B. smallButton.addListener(myListener);
C. smallButton.addActionListener(myListener);
D. smallButton.addItem(myListener);
class StringTest1
{
public static void main(String args[])
{
String s1="hello";
String s2=new String("hello");
if(s1.equals(s2)){
System.out.println("相等");
}else{
System.out.println("不相等");
} } }
int b[][]={{1, 1, 1}, {2,2}, {3}};
int sum=0;
for(int i=0; i<b.length; i++) {
for(int j=0; j<b[i].length; j++) {
sum+=b[i][j];
} }
System.out.println("sum="+sum);
int[] x = {125,21,5,168,98};
int min = x[0];
for (int i=1; i<x.length; i++){
if(x[i] < min)
min = x[i];
}
System.out.println(min);
int b[][]={{1}, {2,2}, {2,2,2}};
int sum=0;
for(int i=0;i<b.length;i++) {
for(int j=0;j<b[i].length;j++) {
sum*=b[i][j];
} }
System.out.println("sum="+sum);
int[] x={125,21,5,168,98};
int max=x[0];
for(int i=1;i<x.length;i++){
if(x[i]> max)
max =x[i];
}
System.out.println(max);
public class Test {
String s1="java";
public static void main(String args[]) {
int z=2;
Test t=new Test();
System.out.println(t.s1+z);
}
}
class Animal {
Animal() {
System.out.print ("Animal "); }
}
public
class Dog extends Animal {
Dog() {
System.out.print ("Dog "); }
public static void main(String[] args) {
Dog snoppy= new Dog(); }
}
class A4{
public int getNumber(int a){
return a+1;
}
}
public class ABC extends A4{
public int getNumber(int a){
return a+100;
}
public static void main(String[] args) {
A4 a=new A4();
System.out.println(a.getNumber(10));
a=new ABC();
System.out.println(a.getNumber(10));
}
}
11
110
public class E1 {
public static void main(String[] args) {
char c='\0';
for(int i=1;i<=4;i++){
switch(i){
case 1: c='J';
System.out.print(c);
case 2:c='e';
System.out.print(c);
break;
case 3:c='p';
System.out.print(c);
default:System.out.print("好");
}
} }
}
Jeep好好
class B {
int x=100,y=200;
public void setX(int x){
x=x;
}
public void setY(int y){
this.y=y;
}
public int getXYSum(){
return x+y;
}}
public class A1{
public static void main(String args[]){
B b=new B();
b.setX(-100);
b.setY(-200);
System.out.print("sum="+b.getXYSum());
}}
sum=-100
public class E {
public static void main(String[] args) {
char x='你',y='e',z='吃';
if(x>'A'){
y='苹';
z='果';
}
else
y='酸';
z='甜';
System.out.print(x+"'"+y+"'"+z);
}
}
你'苹'甜
import java.io.IOException;
public class E {
public static void main(String args[]){
try{methodA();
}
catch (IOException e){
System.out.print("你好");
return;
}
finally{
System.out.print("fine thanks");
}
}
public static void methodA() throws IOException{
throw new IOException();
}}
你好fine thanks
class A5{
int m;
int getM(){
return m;
}
int seeM(){
return m;
}
}
class B4 extends A5{
int m;
int getM(){
return m+100;
}
}
public class E {
public static void main(String args[]){
B4 b=new B4();
b.m=20;
System.out.println(b.getM());
A5 a=b;
a.m=-100;
System.out.println(a.getM());
System.out.println(b.seeM());
System.out.println(b.m);
}
}
120
120
-100
20
class E4 {
double f(int x,double y){
return x+y;
}
int f(int x,int y){
return x*y;
}
}
public class E5{
public static void main(String args[]){
E4 b=new E4();
System.out.println(b.f(10,10));
System.out.println(b.f(10,10.0));
}
}
100
20.0
例1:
package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.*;
import java.util.HashMap;
//上面可以不背
//1. 创建一注册窗口类,运行结果图如下,并写一监视器类,使用对象输出流将注册的用户对象写入磁盘文件,
// 并创建对象输入流读入磁盘文件对象,在控制台输出。
public class Demo1 extends JFrame {
public static void main(String[]args){
Demo1 demo1= new Demo1();
demo1.init();
}
JLabel j1 = new JLabel("用户名");
JLabel j2 = new JLabel("密码");
JTextField jf1 = new JTextField();
JTextField jf2 = new JTextField();
JButton button1 = new JButton("保存");
JButton button2 = new JButton("取消");
void init() {
setLayout(new FlowLayout());
Box vbox = Box.createVerticalBox();
Box box1 = Box.createHorizontalBox();
box1.add(j1);
box1.add(jf1);
Box box2 = Box.createHorizontalBox();
box2.add(j2);
box2.add(jf2);
Box box3 = Box.createHorizontalBox();
box3.add(button1);
box3.add(button2);
vbox.add(box1);
vbox.add(box2);
vbox.add(box3);
this.add(vbox);
MyListener myListener = new MyListener();
button1.addActionListener(myListener);
this.setVisible(true);
this.pack();
}
class MyListener implements ActionListener {
public void actionPerformed(ActionEvent e) {
String user = jf1.getText();
String password = jf2.getText();
Person person = new Person();
person.setName(user);
person.setPassword(password);
try {
HashMap<String,String> map = new HashMap<String,String>();
map.put(user, password);
FileOutputStream outStream = new FileOutputStream("info.txt");
ObjectOutputStream objectOutputStream = new ObjectOutputStream(outStream);
objectOutputStream.writeObject(map);
outStream.close();
System.out.println("successful");
} catch (Exception w) {
w.getMessage();
}
try {
FileInputStream freader = new FileInputStream("info.txt");
ObjectInputStream objectInputStream = new ObjectInputStream(freader);
HashMap<String,String> map;
map = (HashMap<String, String>) objectInputStream.readObject();
System.out.println("用户名:" + user);
System.out.println("密码:" + map.get(user)); //通过用户名在哈希表中查询密码
} catch (Exception h) {
h.printStackTrace();
}
}
}
}
class Person{
String name;
String password;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
设计一程序按行读取该文件内容,并在该行的后面尾加上该英语句子中含有的单词书目,然后再将该行写入到一个名字为englishCountt.txt的文件中,并将该文件输出如下:
englishCount.txt内容:
The arrow missed the target. 句子中单词个数:5
They rejected the union demand. 句子中单词个数:5
Where does this road go to? 句子中单词个数:6
Where does this road go to? 句子中单词个数:6
例2:
package com.company;
import java.io.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
import java.util.StringTokenizer;
// 通过Scanner类按行读出内容并写入可变长数组中
// 并创建字节流写入enlishCountt.txt中
public class Demo2 {
public static void main(String[] args) {
File file = new File("src\\english.txt");
Scanner sc = null;
List<String> array = new ArrayList<>();
try {
sc = new Scanner(file);
while (sc.hasNextLine()) {
array.add(sc.nextLine());
}
} catch (FileNotFoundException e) {
System.out.println("error:" + e);
}
String sum = "";
for (int i = 0; i < array.size(); i++) {
String str = array.get(i);
StringTokenizer anaylsis = new StringTokenizer(str, " ?.");
int number = anaylsis.countTokens();
sum = sum + str + " 句子中单词个数: " + number + "\n";
}
file = new File("src\\englishCountt.txt");
try {
FileOutputStream out = new FileOutputStream(file);
out.write(sum.getBytes());
out.close();
}catch (IOException e){
System.out.println("error"+e);
}
}
}
4. 编写GUI程序。首先编写一个封装学生信息的类,然后再编写一个窗口。
要求窗口使用三文本框和一个文本区为学生对象中的数据提供视图,其中三个文本框用来显示和更新学生对象的姓名、数学成绩和英语;文本区对象用来显示学生的姓名和总成绩。
窗口中有一个按钮,用户单击该按钮后,程序用3个文本框中的数据分别作为学生对象的姓名、数学成绩底和英语成绩,并将学生的姓名和总成绩显示在文本区中。
例4:
package com.company;
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class Demo4 {
public static void main(String[] args) {
Demo4_1 demo = new Demo4_1(300,200,500,300);
}
}
class Student {
String name;
int mathGrade;
int englishGrade;
int sumGrade;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMathGrade() {
return mathGrade;
}
public void setMathGrade(int mathGrade) {
this.mathGrade = mathGrade;
}
public int getEnglishGrade() {
return englishGrade;
}
public void setEnglishGrade(int englishGrade) {
this.englishGrade = englishGrade;
}
public int getSumGrade() {
sumGrade = mathGrade + englishGrade;
return sumGrade;
}
}
class Demo4_1 extends JFrame {
JTextField tName;
JTextField tMath;
JTextField tEnglish;
JTextArea textArea;
JButton btn;
MyListener myListener = new MyListener();
public Demo4_1(int x,int y,int width,int height){
init();
setBounds(x,y,width,height);
setVisible(true);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public void init(){
tName = new JTextField(10);
tMath = new JTextField(10);
tEnglish = new JTextField(10);
textArea = new JTextArea(5,20);
btn = new JButton("确定");
setLayout(new FlowLayout());
Box box1 = Box.createHorizontalBox();
box1.add(new JLabel("姓名:"));
box1.add(tName);
Box box2 = Box.createHorizontalBox();
box2.add(new JLabel("数学成绩:"));
box2.add(tMath);
Box box3 = Box.createHorizontalBox();
box3.add(new JLabel("英语成绩:"));
box3.add(tEnglish);
Box vBox = Box.createVerticalBox();
vBox.add(box1);
vBox.add(box2);
vBox.add(box3);
vBox.add(textArea);
textArea.setEnabled(false);
vBox.add(btn);
add(vBox);
myListener.setView(this);
btn.addActionListener(myListener);
}
}
class MyListener implements ActionListener {
Demo4_1 view;
public void setView(Demo4_1 view) {
this.view = view;
}
@Override
public void actionPerformed(ActionEvent e) {
String name = view.tName.getText();
String math = view.tMath.getText();
String eng = view.tEnglish.getText();
String regex = "[^0-9]*";
if (name.equals("")||math.matches(regex)||eng.matches(regex)) {
view.textArea.setText("error");
return;
}
Student student = new Student();
student.setName(name);
student.setMathGrade(Integer.parseInt(math));
student.setEnglishGrade(Integer.parseInt(eng));
view.textArea.setText("");
view.textArea.append("姓名:"+student.getName()+"\n");
view.textArea.append("总成绩:"+student.getSumGrade()+"\n");
}
}
5. 使用Scanner类的实例解析一个文件中的价格数据,并计算平均价格,比如该文件的内容如下:
商品列表:
电视机,2567元/台
洗衣机,3562元/台
冰箱,6573元/台
例5:
package com.company;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
File file = new File("src\\goods.txt");
Scanner sc = null;
String regex = "[^0-9.]+";
int count = 0;
double sum = 0;
try {
double price = 0;
sc = new Scanner(file);
sc.useDelimiter(regex);
while(sc.hasNextDouble()) {
price = sc.nextDouble();
count++;
sum += price;
System.out.println(price);
}
double aver = sum / count;
System.out.println("平均价格:" + aver);
} catch (FileNotFoundException e) {
System.out.println("error:" + e);
}
}
}
6. 设计程序计算两个非零正整数的最大公约数和最小公倍数,要求两个非零正整数从键盘输入。(15分)
例6:
package com.company;
class A {
//输入两个int类型a,b
//输出a和b的最大公约数
public int f(int a, int b) {
if (a < b) {
int c = a;
a = b;
b = c;
}
int r = a % b;
while (r != 0) {
a = b;
b = r;
r = a % b;
}
return b;
}
}
class B extends A {
//输入两个int类型a,b
//输出a和b的最小公倍数
@Override
public int f(int a,int b){
int m = super.f(a, b);
return a*b / m;
}
}
public class Demo6 {
public static void main(String[] args) {
//创建一个父类对象a,调用方法f返回最大公约数
A a = new A();
System.out.println(a.f(27, 18));
//a作为子类对象的上转型对象,调用方法f返回最小公倍数
a = new B();
System.out.println(a.f(27, 18));
}
}