java字符串特性练习--答案

选择题:

1。下面程序段执行完毕后,cont的值是(C )

String strings[ ]={"string","starting","strong","street","soft"};

int cont=0;

for(int i=0;i

if(strings[i].endsWith("ng"))

cont++;

A. 1

B. 2

C.3

D.4

2.定义字符串:String str=“abcdefg”;则str.indexOf(‘d’)的结果是(C )

A)'d' B) true C) 3 D) 4

3。定义变量b:boolean b=true;则String.valueOf(b)的类型是( B )

A)boolean B) String C) false D) int

4。下面程序段输出的结果是(A )

StringBuffer buf1;

String str=”北京2008”;

buf1=new StringBuffer(str);

System.out.println(buf1.charAt(2));

A. 2

B. 京C0 D.null

5. 下面程序段输出的结果是(D )

String s=”ABCD”;

s.concat(“E”);

s.replace(‘C’,’F’);

System.out.println(s);

A) ABCDEF B) ABFDE C) ABCDE D) ABCD

6.下面的语句序列执行完后,n的值是(D )

int n=0;

StringTokenizer st=new StringTokenizer("I wonder should I go,or should I stay?");

while(st.hasMoreTokens())

{ n++; String ss=st.nextToken(); }

A) 9 B) 10 C) 11 D) 8

7. 下面的语句序列执行完后,n的值是(A )

int n=0;

String str=”I wonder,what?”;

StringTokenizer str2=new StringTokenizer(str,“,?”);

while(str2.hasMoreTokens())

{ str2.nextToken(); }

System.out.println(“n=”+n);

A)2 B) 3 C) 4 D) 5

二填空题。

1定义数组:char charArray[]={‘a’,’b’,’c’,’d’,’e’,’f’};则String.valueOf(charArray,2,3)的结果是cde 。

2.下面语句序列输出结果是pro 。

String s=new String(“java program!”);

System.out.println(s.substring(5,8));

3.下面语句输出结果是1234abcdef5 。

char charArray[]={‘a’,’b’,’c’,’d’,’e’,’f’};

StringBuffer buf1;

String str=”12345”;

buf1=new StringBuffer(str);

buf1.insert(4,charArray);

System.out.println(buf1.toString());

4.如有以下赋值语句:x=new StringBuffer().append(“a”).append(4). append(“c”).toString; x的类型是StringBuffer ;它的值是a4c 。

5.下面程序的功能是统计以“st”开头的字符串有多少个,完成下面程序填空。

public class Class1

{

public static void main(String args[])

{

String strings[]={“string”,”starting”,”strong”,”street”,”soft”};

int cont=0;

for(int i=0; i< strings.length ;i++)

if(strings[i].startsWith(“str”))

cont++;

System.out.println(cont);

}

}

第九章多线程机制

一、判断题

1.如果线程死亡,它便不能运行。(T )

2.在Java 中,高优先级的可运行线程会抢占低优先级线程。(T)

3.一个线程在调用它的start 方法之前,该线程将一直处于出生期。(T )

4.当调用一个正在进行线程的stop( )方法时,该线程便会进入休眠状态。(F )

5.一个线程可以调用yield 方法使其他线程有机会运行。(T )

6. 线程可以调用yield方法使低优先级的线程运行。(F)

二、选择题

1.Java 语言中提供了一个▁D▁线程,自动回收动态分配的内存。

A 异步

B 消费者

C 守护

D 垃圾收集

2.Java语言避免了大多数的▁▁C▁▁错误。

A 数组下标越界

B 算术溢出

C 内存泄漏

D 非法的方法参数

3.有三种原因可以导致线程不能运行,它们是▁ACD▁▁▁。

A 等待

B 阻塞

C 休眠

D 挂起及由于I/O 操作而阻塞

4.当▁A▁方法终止时,能使线程进入死亡状态。

A run

B setPrority

C yield

D sleep

5.用▁B▁方法可以改变线程的优先级。

A run

B setPrority

C yield

D sleep

6.线程通过▁C▁方法可以使具有相同优先级线程获得处理器。

A run

B setPrority

C yield

D sleep

7.线程通过▁D▁方法可以休眠一段时间,然后恢复运行。

A run

B setPrority

C yield

D sleep

8.▁B▁方法使对象等待队列的第一个线程进入就绪状态。

A run

B notify

C yield

D sleep

9.方法resume( )负责重新开始▁D▁线程的执行。

A 被stop( )方法停止

B 被sleep( )方法停止

C 被wait( )方法停止

D 被suspend( )方法停止

10.▁BCD▁方法可以用来暂时停止当前线程的运行。

A stop( )

B sleep( )

C wait( )

D suspend( )

三、简述题

1.简述程序、进程和线程之间的关系?什么是多线程程序?

答:程序是一段静态的代码,它是应用软件执行的蓝本。

进程是程序的一次动态执行过程,它对应了从代码加载、执行至执行完毕的一个完整过程。每一个进程都有自己独立的一块内存空间、一组系统资源。

线程是比进程更小的执行单位。一个进程在其执行过程中,可以产生多个线程,形成多条执行线索,每个线程都有其产生、发展和消亡的过程。

2.线程有那5 个基本状态?它们之间如何转化?简述线程的生命周期。

答案:线程有“新建”、“就绪”、“阻塞”、“运行”、“死亡”5 个基本状态。线程对象被创建时进入“新建”状态;程序执行语句启动这个线程后,它进入线程队列排列等待CPU 时间片,称为“就绪”状态;等CPU 时间和其他资源齐备时就进入“运行”状态;线程运行完毕或者被强制终止则进入“死亡”状态。上述线程各状态之间的转换就构成了线程的基本生命周期。

3.什么是线程调度?Java 的线程调度采用什么策略?

答案:安排线程队列中CPU 时间的线程被称为线程调度。Java 的线程调度采用优先级基础上的“先到先服务”策略。

4.如何在Java 程序中实现多线程?

答案:在Java 程序中实现多线程最关键是要定义子线程的操作,即定义子线程的run( )方法。具体可以通过派生Thread 类的子类或实现Runnable 接口两种方式来实现。

5.试简述Thread类的子类或实现Runnable 接口两种方法的异同?

答案:派生Thread 子类时通过重载父类的方法run( )来定义子线程的具体操作,然后在主线程中创建并启动该子类的对象为子线程。实现了Runnable 接口的类必须要实现接口中的

run( )方法,其中同样定义了子线程的操作。但是这个方法中的子线程不是Thread 子类的对象,而是Thread 类的对象;在创建Thread 类对象时把实现了Runnable 接口和run( )方法的类作为参数传递给该对象,从而规定它的具体操作。

四、编程题

1.利用多线程技术编写Applet 程序,其中包含一个滚动的字符串。字符串从左向右运动,当所有的字符都从屏幕的右边消失后,字符串重新从左边出现并继续向右移动。

[Xianch.java]

import java.awt.*;

import java.applet.*;

public class Xianch extends Applet implements Runnable

{

final String rollingMessage = "SAILING, SAILING, I AM SAILING...";

Thread m_Draw = null;

int beginX;

public void init()

{

m_Draw = new Thread(this);

}

public void paint(Graphics g)

{

g.drawString(rollingMessage, beginX, 40);

}

public void start()

{

m_Draw.start();

try{

Thread.sleep(50);

}catch(InterruptedException e){}

}

public void stop()

{

if(m_Draw.isAlive())

m_Draw.stop();

}

public void run()

{

try

{

while(true)

{

beginX = ++beginX % getWidth();

repaint();

Thread.sleep(100);

}

}

catch(InterruptedException e)

{

}

}

}

第七章图形用户界面

一、判断题

1.BorderLayout 是面板的缺省布局管理器。(F )

2.当鼠标指针位于一个GUI构件的边上时,发生一个MouseOver 事件。(F )

3.一个面板(Panel)不能被加入到另一个面板(Panel)中。(F )

4.在BorderLayout 中,添加到NORTH 区的两个按钮将并排显示。(F )

5.在使用BorderLayout 时,最多可以使用5 个构件。(F )

6.Swing 构件经常被称为轻量构件。(T )

7.在GUI 上输出文本或提示信息的方法是使用标签。(T )

8.为了处理图形用户界面的事件,程序员必须注册一事件监听器。(T )

9.用户在TextField输入数据后键入回车键,可以激活一个事件。(T )

11.程序员在创建一个Frame 时,至少必须创建一个菜单,并将它加入Frame 中。(F )

二、选择题

1.鼠标被移动时会调用▁C▁方法,并且注册一个事件监听器处理此事件。

A actionPerformed

B addItemListener

C mouseMove

D add

2.用户不能修改的文本是▁D▁。

A word 文档

B txt 文档

C 可编辑的

D 不可编辑的

3.▁D▁用来在Container 上排列GUI构件。

A BorderLayout 类

B Component 类

C 事件控制

D 布局管理器

4.为添加一个构件的add 方法是▁C▁类方法。

A BorderLayout

B Component

C Container

D ButtonGroup

5.使用方法▁B▁为构件容器设置布局管理器。

A BorderLayout

B setLayout

C Container

D Component

6.GUI 是▁D▁的缩写。

A 布局管理器

B 资源管理器

C 用户界面布局

D 图形用户界面

7.当构件中按钮的位置可以被自动调整,应使用哪种布局管理器:B

A BorderLayout

B FlowLayout

C CardLayout

D GridLayout

8.使用▁B▁类创建菜单对象。

A Dimension

B JMenu

C JMenuItem

D JTextArea

9.使用▁D▁方法创建菜单中的分隔条。

A setEditable

B ChangeListener

C add

D addSeparator

10.向JTextArea 的▁A▁方法传递false 参数可以防止用户修改文本。

A setEditable

B ChangeListener

C add

D addSeparator

11.下面哪个布局管理器是非法的:C

A FlowLayout

B BorderLayout

C CardBagLayout

D GridLayout

12.实现下列哪个接口可以对TextField 对象的事件进行监听和处理?___C_

A MouseMotionListener

B FocusListener

C ActionListener

D WindowListener

13.Frame 的默认的布局管理器是下列哪一个?_D___

A FlowLayout

B CardLayout

C GridLayout

D BorderLayout

14.请问如下哪个方法可以将MenuBar 加入Frame 中? B

A setMenu()

B setMenuBar()

C add()

D addMenuBar()

三、简述题与编程题

1、文本框与文本区域在创建方法、常用方法和事件响应上有何异同?什么操作将引发文本事件?如何响应文本事件?编写Applet 包括一个文本框、一个文本区域和一个按钮,当用户单击按钮时,程序将文本区域中被选中的字符串复制到文本框中。

2、简述Java的事件处理机制,什么是事件源?什么是监听器?

3、动作时间的事件源可以有哪些?如何响应动作事件?

异常处理练习题

一、选择题

1.java中用来抛出异常的关键字是

A、try

B、catch

C、throw

D、finally

2.关于异常,下列说法正确的是

A、异常是一种对象

B、一旦程序运行,异常将被创建

C、为了保证程序运行速度,要尽量避免异常控制

D、以上说法都不对

3.()类是所有异常类的父类。

A、Throwable

B、Error

C、Exception

D、AWTError

4.java语言中,下列哪一子句是异常处理的出口

A、try{…}子句

B、catch{…}子句

C、finally{…}子句

D、以上说法都不对

5.下列程序的执行,说法正确的是

public class MultiCatch

{

public static void main(String args[])

{

try

{

int a=args.length;

int b=42/a;

int c[]={1};

c[42]=99;

System.out.println(“b=”+b);

}

catch(ArithmeticException e)

{

System.out.println(“除0异常:”+e);

}

catch(ArrayIndexOutOfBoundsException e)

{

System.out.println(“数组超越边界异常:”+e);

}

}

}

A、程序将输出第15行的异常信息

B、程序第10行出错

C、程序将输出“b=42”

D、程序将输出第15和19行的异常信息

6.下列程序的执行,说法正确的是

class ExMulti{

static void procedure(){

try{

int c[]={1};

c[42]=99;

}

catch(ArrayIndexOutOfBoundsException e){

System.out.println(“数组超越界限异常:”+e);

}

}

public static void main(String args[]){

try{

procedure();

int a=args.length;

int b=42/a;

System.out.println(“b=”+b);

}catch(ArithmeticException e){

System.out.println(“除0异常:”+e);

}

}

}

A、程序只输出第12行的异常信息

B、程序只输出第26行的异常信息

C、程序将不输出异常信息

D、程序将输出第12行和第26行的异常信息

7.下面程序抛出了一个“异常”并捕捉它。请在横线处填入适当内容完成程序。class TrowsDemo

{

static void procedure() throws IllegalAccessException

{

System.out.println(“inside procedure”);

throw____new___IllegalAccessException(“demo”);

}

public static void main(String args[])

{

try

{

procedure();

}

___catch (IllegalAccessException e)________

{

System.out.println(“捕获:”+e);

}

}

8.对于catch子句的排列,下列哪种是正确的( )

A、父类在先,子类在后

B、子类在先,父类在后

C、有继承关系的异常不能在同一个try程序段内

D、先有子类,其他如何排列都无关

9.在异常处理中,如释放资源、关闭文件、关闭数据库等由( )来完成。

A、try子句

B、catch子句

C、finally子句

D、throw子句

10.当方法遇到异常又不知如何处理时,下列哪种说法是正确的( )

A、捕获异常

B、抛出异常

C、声明异常

D、嵌套异常

11.哪个关键字可以抛出异常?

A、transient

B、 finally

C、 throw

D、 static

12.一个异常将终止( )

A、整个程序

B、只终止抛出异常的方法

C、产生异常的try块

D、×上面的说法都不对

二、填空题

1、catch子句都带一个参数,该参数是某个异常的类及其变量名,catch用该参数去与__异常____对象的类进行匹配。

2、java虚拟机能自动处理_____RuntimeException_______异常。

3、捕获异常要求在程序的方法中预先声明,在调用方法时用try-catch-__finally____语句捕获并处理。

4、java语言认为那些可预料和不可预料的出错称为____Throwable___

5、按异常处理不同可以分为运行异常、捕获异常、声明异常和__自定义异常____几种。

6、抛出异常、生成异常对象都可以通过__throws句实现。

7、捕获异常的统一出口通过___finally____语句实现。

8、java语言的类库中提供了一个__Throwable___类,所有的异常都必须是它的实例或它子类的实例。

9、Throwable类有两个子类:_____Error_____类和Exception类。

10、对程序语言而言,一般有编译错误和____运行_____错误两类。

11、下面程序定义了一个字符串数组,并打印输出,捕获数组超越界限异常。请在横线处填入适当的内容完成程序。

public class HelloWorld

{

int i=0;

String greetings[]= {

“Hello world!”,

“No,I mean it!”,

“HELLO WORLD!!”

};

while(i<4)

{

___try______

{

System.out.println(greeting[i]);

}

____catch____(ArrayIndexOutOfBoundsException e)

{

System.out.println(“Re-setting Index Value”);

i=-1;}

finally

{

System.out.println(“This is always printed”);

}

i++;

}

}

三、判断题

1. ( n ) 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。

2. ( y ) 一个异常处理中finally语句块只能有一个或者可以没有。

3.( y)异常类对象代表当前出现的一个具体异常。

4.( y )java语言中的所有异常类都是https://www.360docs.net/doc/ba19149460.html,ng.Throwable的子类。

5.( n ) 如果异常发生时,没有捕获异常的代码,程序会正常执行。

四、编程题

1.参考下面的程序,试修改程序,捕获相关异常,使得程序能正常运行。[提示:用错误数据测试,即可得到异常类名,运行时主方法参数输入 abc 测试]

public class StringIndexOutOf

{

public static void main(String args[])

{

System.out.println("字符串索引越界异常");

String str=args[0]; System.out.println(“第四个字符为”+str.charAt(3));

int aa=Integer.parseInt(args[0]); System.out.println(“平方为”+aa*aa);

}

}

2.从命令行得到5个整数,放入一整型数组,然后打印输出,要求:如果输入数据不为整数,要捕获Integer.parseInt()产生的异常,显示“请输入整数”,捕获输入参数不足5个的异常(数组越界),显示“请输入至少5个整数”。

3.写一个方法void sanjiao(int a,int b,int c),判断三个参数是否能构成一个三角形,如果不能则抛出异常IllegalArgumentException,显示异常信息a,b,c+”不能构成三角形”,如果可以构成则显示三角形三个边长,在主方法中得到命令行输入的三个整数,调用此方法,并捕获异常。

1、public class StringIndexOutOf{

public static void main(String args[]){

System.out.println("字符串索引越界异常");

String str=args[0];

try{

System.out.println("第四个字符为"+str.charAt(2));

int aa=Integer.parseInt(args[0]);

System.out.println("平方为"+aa*aa);

}catch(StringIndexOutOfBoundsException e){

System.out.println("字符串索引越界"+e);

}

catch(NumberFormatException e){

System.out.println("格式转换异常"+e);

}

}

}

2、class test{

public static void main(String args[]){

try{

if(args.length<5) throw new Exception();

int intarray[]=new int[args.length];

for(int i=0;i

intarray[i]=Integer.parseInt(args[i]);

for(int i=0;i

System.out.print(intarray[i]+" ");

}catch(NumberFormatException e){

System.out.println("请输入整数");

}

catch(Exception e){

System.out.println("请输入至少5个整数");

}

}

3、class test{

void sanjiao(int a,int b,int c) throws IllegalArgumentException{

if(a+b>=c && a+c>=b && b+c>=a)

System.out.println("三角形的三个边长为:"+a+" "+b+" "+c);

else throw new IllegalArgumentException();

}

public static void main(String args[]){

int intarray[]=new int[args.length];

for(int i=0;i

intarray[i]=Integer.parseInt(args[i]);

test t=new test();

try{

t.sanjiao(intarray[0],intarray[1],intarray[2]);

}catch(IllegalArgumentException e){

System.out.println(e.getClass().getName()+" "+intarray[0]+" "+intarray[1]+" "+intarray[2]+"不能构成三角形");

}

}

java练习题2及答案

试题编号: 重庆邮电大学××××学年××学期 一、选择题(每题1分,共30分) 1、下列哪些语句关于内存回收的说明是正确的? () A:程序员必须创建一个线程来释放内存; B:内存回收程序负责释放无用内存; C:内存回收程序允许程序员直接释放内存; D:内存回收程序可以在指定的时间释放内存对象。 2、有下列程序: public class aa{ public static void main(String[ ] args) { String s = "18.03"; try { double number1 = Double.parseDouble(s); System.out.print(number1); int number2 = Integer.parseInt(s); System.out.println(" " + number2); }catch(NumberFormatException nfe) { System.out.println(" Sorry"); }catch(Exception e){ } } } 执行结果是() A:18.03 B:Sorry C:18.03 Sorry D:出现编译错误 3、下面哪个选项可以将“hello”字符写入文件file.txt的末尾?() A:OutputStream out= new FileOutputStream ("file.txt"); Out.writeBytes ("hello"); B:OutputStream os= new FileOutputStream ("file.txt", true); DataOutputStream out = new DataOutputStream(os); out.writeBytes ("hello"); C:OutputStream os= new FileOutputStream ("file.txt"); DataOutputStream out = new DataOutputStream(os); out.writeBytes ("hello"); D:OutputStream os= new OutputStream ("file.txt", true); DataOutputStream out = new DataOutputStream(os); ×××××试卷第1页(共××页)

2021年java基础测试题及答案

2021年java基础测试题及答案 java基础测试题及答案1 一、单选题:(每道题目2分) 1、下列哪个声明是错误的?(B) A、int i=10; B、float f=1.1; //float f=1.1f C、double d=34.4; D、byte b=127; long类型的数据加后缀L或者l float类型的数据加后缀F或者f 整数默认是int类型 浮点数默认是double类型 2、下面哪个不是java中的关键字?(C) A、public B、true C、main D、class 3、下面程序哪个语句是正确的(C) A、byte a=0,b=3; byte c =a+b;//a+b的类型为int B、short s =23; s=s+12; //s+12底层是转成int进行相加,所以结果为int。 C、short s=23; s+=12; //相当于s=(short)(s+12)

D、float f = 23+23.23; //23+23.23的结果为double 4、下面程序执行的结果是?(B) class Test { public static void main(String[] args) { System.out.println(“”+‘a’+1); } } A、98 B、a1 C、971 D、197 //空串放前相当于字符串的拼接,空串放后,‘a’+1,先做运算,再与空串进行拼接,byte,short,char可以自动转为int, 5、下面程序执行的结果是?(B) int i =100; while(true) { if (i++ > 100) //i先计算在自加 { break;

数据机构第四章——java语言描述第4章串与数组习题参考答案

数据机构第四章——java语言描述第4章串与数组习题 参考答案 习题四参考答案 一、选择题 1.下面关于串的叙述中,哪一个是不正确的?(B) A.串是字符的有限序列 B.空串是由空格构成的串 C.模式匹配是串的一种重要运算 D.串既可以采用顺序存储,也可以采用链式存储 2.串的长度是指(A) A.串中包含的字符个数 B.串中包含的不同字符个数 C.串中除空格以外的字符个数 D.串中包含的不同字母个数 3.设有两个串p和q,其中q是p的子串,求q在p中首次出现的位置的算法称为(C) A.求子串B.联接C.模式匹配D.求串长 4.设主串的长度为n,模式串的长度为m,则串匹配的KMP算法时间复杂度是(C)。 A.O(m) B.O(n) C.O(n+m) D.O(n某m) 5.串也是一种线性表,只不过(A)。 A.数据元素均为字符 B.数据元素是子串

C.数据元素数据类型不受限制 D.表长受到限制 6.设有一个10阶的对称矩阵A,采用压缩存储方式,以行序为主进行存储,a11为第一元素,其存储地址为1,每个元素占一个地址空间,则a85的地址为(B)。 A.13 B.33 C.18 D.40 7.有一个二维数组A[1..6,0..7],每个数组元素用相邻的6个字节存储,存储器按字节编址,那么这个数组占用的存储空间大小是(D)个字节。 A.48 B.96 C.252 D.288 8.设有数组A[1..8,1..10],数组的每个元素占3字节,数组从内存首地址BA开始以列序为主序顺序存放,则数组元素A[5,8]的存储首地址为(B)。 A.BA+141 B.BA+180 C.BA+222 D.BA+225 9.稀疏矩阵的三元组存储表示方法(B) A.实现转置操作很简单,只需将每个三元组中行下标和列下标交换即可 B.矩阵的非零元素个数和位置在操作过程中变化不大时较有效 C.是一种链式存储方法 D.比十字链表更高效 10.用十字链表表示一个稀疏矩阵,每个非零元素一般用一个含有(A)域的结点表示。

java字符串特性练习--答案

选择题: 1。下面程序段执行完毕后,cont的值是(C ) String strings[ ]={"string","starting","strong","street","soft"}; int cont=0; for(int i=0;i

第2章 习题答案

第2章习题 1. 在下述字符串中,不属于Java语言关键字的是( C )。 A.extends B.switch C.myJava D.import 2. 下述Java程序标识符命名正确的是( A )。 A. _f123 B.class C.hello world D.6aa 3. 下述字符组合不能作为Java程序标识符的是(D )。 A. Ba54 B. Y C. a$b D. 789s 4. 设 a, b, c, d 均为 int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的是( C )。 A. a!= b & c%d < a B. a++ ==a+b+c+d C. ++a*b--+d D. a+b>=c+d 5.在Java语言中,逻辑常量只有___true________和__false___两个值. 6.Java语言中的浮点型数据根据数据存储长度和数值精度的不同,进一步分为___float____和___double___两种具体类型。 7.若有int c=2, d=0;表达式d=(c++)+(c++)+(c++)的值是______9______ 。 8.数组中可以包含( D )类型的元素。 A.int型 B.string型 C.数组 D.以上都可以 9.简述程序的3种基本控制结构及其各用什么语句表示? 答:(1)3种基本控制结构分别是:顺序结构、选择结构和循环结构; (2)选择结构的语句有:if、else、switch…case; (3)循环结构的语句有:for、while、do…while。 10.自动数据类型转换的条件是什么? 答:

11.以下程序是计算从1到200的累加和,请空白处填入一行代码,使程序能正确执行。 class A{ public static void main(String args[]){ int j=1,total=0; do { total=total+j ; j++ ; } while( j<=200 ) ; System.out.print("1 to 200: total="+total) ; } } 12. 以下程序从键盘输入一个整数,再输出这个数的阶乘。请在空白处填入一条语句,使程序正确运行。 import java.util.Scanner; public class JC{ public static void main(String[] args){ System.out.print("请输入一个整数:"); Scanner input=new Scanner(System.in); int all=1; int i=1 ; int N=input.nextInt(); do{ all=all*i ; i++; }while(i<=N); System.out.println("N的阶乘是:"+all); } } 13. 以下程序实现了一个猜数字游戏,请在空白处填入一条语句,使程序能正确执行。 import java.util.Scanner; public class Guess{ public static void main(String args[]){ System.out.println("产生一个1至100之间的随机整数,给您猜测!"); int randomNumber = (int)(Math.random() * 100) + 1; int yourNumber = 0; System.out.println("请输入您要猜测的整数:"); Scanner input = new Scanner(System.in); yourNumber= input.nextInt(); while ( yourNumber != randomNumber ){

java习题7答案

java习题7答案 Java习题7答案 Java是一种广泛应用于软件开发领域的编程语言,具有跨平台、面向对象等特点。学习Java编程需要不断进行练习和实践,习题是一个非常好的学习方式。在这篇文章中,我将为大家提供Java习题7的答案,帮助大家更好地理解和掌握Java编程。 1. 习题一 题目:编写一个Java程序,实现将一个字符串中的大写字母转换为小写字母。解答: ```java public class ConvertUpperCase { public static void main(String[] args) { String str = "Hello World"; String convertedStr = convertUpperCase(str); System.out.println(convertedStr); } public static String convertUpperCase(String str) { char[] charArray = str.toCharArray(); for (int i = 0; i < charArray.length; i++) { if (Character.isUpperCase(charArray[i])) { charArray[i] = Character.toLowerCase(charArray[i]);

} } return new String(charArray); } } ``` 2. 习题二 题目:编写一个Java程序,实现计算一个数组中的最大值和最小值。解答: ```java public class FindMinMax { public static void main(String[] args) { int[] array = {1, 5, 3, 9, 2}; int min = findMin(array); int max = findMax(array); System.out.println("最小值:" + min); System.out.println("最大值:" + max); } public static int findMin(int[] array) { int min = array[0]; for (int i = 1; i < array.length; i++) {

java习题集及答案

java习题集及答案 《Java习题集及答案》 Java作为一种广泛应用于软件开发领域的编程语言,对于初学者来说,掌握其 基本语法和常见的编程技巧是非常重要的。为了帮助初学者更好地掌握Java编程,我们整理了一些常见的习题集及其答案,希望能够对大家的学习有所帮助。 1. 编写一个Java程序,实现将两个整数相加并输出结果的功能。 ```java public class AddTwoNumbers { public static void main(String[] args) { int num1 = 5; int num2 = 10; int sum = num1 + num2; System.out.println("The sum of " + num1 + " and " + num2 + " is " + sum); } } ``` 2. 编写一个Java程序,实现将一个字符串反转并输出结果的功能。 ```java public class ReverseString { public static void main(String[] args) { String str = "Hello, World!"; StringBuilder reversed = new StringBuilder();

reversed.append(str); reversed = reversed.reverse(); System.out.println("The reversed string is: " + reversed.toString()); } } ``` 3. 编写一个Java程序,实现计算一个整数的阶乘并输出结果的功能。 ```java public class Factorial { public static void main(String[] args) { int num = 5; int factorial = 1; for (int i = 1; i <= num; i++) { factorial *= i; } System.out.println("The factorial of " + num + " is " + factorial); } } ``` 通过以上的习题集及答案,我们可以看到一些常见的Java编程问题的解决方法。希望大家在学习Java编程的过程中能够多多练习,不断提升自己的编程能力。 如果有更多的习题需要解答,也欢迎大家留言提出,我们会尽力为大家解答。

java string 练习题

java string 练习题 Java String 练习题 在学习Java编程语言的过程中,掌握字符串操作是非常重要的一部分。字符串是Java中最常用的数据类型之一,可以用来存储和操作文本数据。为了加深对Java字符串的理解,我们可以尝试一些练习题来提升自己的编程能力。 1. 字符串长度 编写一个Java程序,输入一个字符串,然后输出该字符串的长度。可以使用Java的内置方法`length()`来获取字符串的长度。 ```java import java.util.Scanner; public class StringLength { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); int length = str.length(); System.out.println("字符串的长度为:" + length); } } ``` 2. 字符串反转 编写一个Java程序,输入一个字符串,然后输出该字符串的反转结果。可以使

用Java的内置方法`reverse()`来实现字符串的反转。 ```java import java.util.Scanner; public class StringReverse { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入一个字符串:"); String str = scanner.nextLine(); StringBuilder reversedStr = new StringBuilder(str); reversedStr.reverse(); System.out.println("字符串的反转结果为:" + reversedStr); } } ``` 3. 字符串拼接 编写一个Java程序,输入两个字符串,然后将它们拼接在一起并输出结果。可以使用Java的内置方法`concat()`或者`+`运算符来实现字符串的拼接。 ```java import java.util.Scanner; public class StringConcat { public static void main(String[] args) { Scanner scanner = new Scanner(System.in);

java练习题——String类习题字符串习题(带答案)

java练习题——String类习题字符串习题(带答案) 1. 编写程序将“jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕 /** * 编写程序将“jdk” 全部变为大写,并输出到屏幕,截取子串”DK” 并输出到屏幕 */ public static void main(String[] args) { String s = "jdk"; s = s.toUpperCase(); System.out.println(s); s = s.substring(1); System.out.println(s); } 2.编写程序将String类型字符串”test” 变为“tset”. /** * 2.编写程序将String类型字符串”test” 变为“tset”. */ public static void main(String[] args) { String s= "test"; StringBuffer sb = new StringBuffer(s); sb.reverse();

s = sb.toString(); System.out.println(s); } 3. 写一个方法判断一个字符串是否对称 /** * 3. 写一个方法判断一个字符串是否对称*/ public static void main(String[] args) { String s = "asdfgasdf"; StringBuffer sb =new StringBuffer(s); String s1 = sb.reverse().toString(); if(s.equals(s1)){ System.out.println("字符串对称"); }else{ System.out.println("字符串不对称"); } } 4. String s = "113@ ere qqq yyui" 请输出所有子串 113 ere qqq yyui /**

Java习题练习

Java习题练习 一、填空题(共18分) 1、是唯一标志一个变量、方法和类等的名字。 2、布尔类型变量的值只有两种值,其值为和。 3、Java支持两种分支语句,分别是和。 4、如果程序中的语句是以重复性语句来做程序的结构称为,也叫重复结构。 5、if语句是选择结构中最基本的语句,它有两种基本形式:与语句。 6、对于字符串String s1=new String("ok");string s2=new String("ok"); 表达式s1==s2的值是,s1.equals(s2)的值是 7、创建字符串对象a的两种方式和。 8、设String对象s= “Hello ”,运行语句System.out.println(s.concat(“World!”));后String对象s的内容为_______ ____,所以语句输出为_____ ___。 9、面向对象程序设计的主要特点是、和。 10、Java中类成员的限定词有以下几种:private、public、friendly、protected其中,的限定的范围最大。 11、标识符是区分的,可以为任意长度(unlimited-length),但一般来说,长度适中即可。 12、byte类型数据占位空间,short类型数据占位空间,int类型数据占位空间,long类型数据占位空间。 13、Java支持三种循环语句,分别是,,。 14、语法格式中的“布尔表达式”为关系表达式或逻辑表达式,其值类型为。 15、首先执行循环体,然后再判断循环条件。 二、单项选择题(共30分) 1、语法错误由()发现的。 A、JREB、编译程序C、命令提示符D、应用程序 2、Java的源代码文件具有()的扩展名。 A、class B 、java C 、javac D 、source 3、语法错误可因多种原因产生,例如,当() A、应用程序突然中止B、缺少括号C、单词拼写错误D、选择B和C 4、应用程序中的语句按照它们所缩写的次序逐条的执行过程被称为() A、控制转移 B、顺序执行 C、工作流程 D、以上均不对 5、将一个if…else 语句放置在另一个if…else语句的内部,属于()的一个例子 A、嵌套if…else语句 B、堆积if…else语句 C、创建顺序的if…else语句 D、以上答案都不对 6、以下的描述中,正确的是( ) A、continue语句的作用是结束整个循环的执行 B、只能在循环体内和switch语句体内使用break语句 C、在循环体内使用break语句或continue语句的作用相同 D、从多层循环嵌套中退出时,只能使用goto语句 7、String str = new String("abc") 此代码中有几个对象() A、1个 B、2个 C、3个 D、4个 8、如何将字符串转换为数值?()

java,string类练习题

java,string类练习题 精品文档 java,string类练习题 一、选择题 1. 下列String类的方法返回指定字符串的一部分 A. extractstring B. substring C. Substring D. Middlestring 2(下列哪一个是正确的 A) HashTable的关键字和值都允许为null B) HashTable的关键字和值都不允许为null C) HashTable的关键字允许为null,值不允许为null D) HashTable的关键字不允许为null,值允许为null(对 于下列代码: String str1=“java”; String str2=“java”; String str3=new String; StringBuffer str4=new StringBuffer; 以下表达式 的值为true的是 A) str1= =str2; C) str2= =str3; B) str1= =str4; D) str3= =str4; 4(以下程序段输出结果的是 public class Test { public static void main{String str=“ABCDE”;str.substring;str.concat; System.out.print; }

} 1 / 20 精品文档 A) DE B) DEXYZ C) ABCDED) CDEXYZ(对于下 列代码: public class Example{ String str=new String; char ch[]={‘d’,’b’,’c’}; public static void main{ } public void ch ange{ str=“world”;ch[0]= ‘a’; } Example ex=new Example; ex.change; System.out.println; } B) hello and a 输出结果是: A) hello and d C) world and d D) world and a(以下代码的运行 结果是哪一项。 public class StringTest { } A)A.A C)A.B B)B.A D)B.B public static void mb_operate {} public static void main { } String a=“A”; String b=“B”; mb_operate; System.out.println; x.concat; y=x; 7(以下代码的运行结果是哪一项。

java 试题练习题(第10套)

大学 —— 学年第 学期 《 Java 程序设计 》课程试题 课程号: √ 考试 □ A 卷 √ 闭卷 □ 考查 □ B 卷 □ 开卷 一、单项选择题(20题;每题2分,共40分) 1、Java 语言具有许多的优点和特点,下列的选项___反映了Java 程序并行机制的特点。 A )安全性 B )多线程 C )跨平台 D )可移植 答案: B 知识点: java 基础 难度系数C 2、下列关于JAVA 语言特点的叙述中,错误的是____。 A )Java 是面向过程的编程语言 B )Java 支持分布式计算 C )Java 是跨平台的编程语言 D )Java 支持多线程 答案:A 知识点: java 基础 难度系数C 3、定义私有的成员函数或成员变量,正确的是____。 A )不需要定义,缺省的访问级就是私有级 B )在类的开头部分集中定义 C )成员函数需要定义,而成员变量不需要定义 D )利用private 关键字定义 答案: D 知识点: 类成员 难度系数C 4、下列语句正确的是________。 A )int a={1,2,3} B )int b=(1,2,3); C )int c[]={1,2,3} D )int []d={1 2 3} (难度系数C )答案:C 知识点:数组 班 级 : 姓名: 学号: 试题共 页 加 白纸 张 密 封 线

5、在编写异常处理的Java程序中,每个catch语句块都应该与___语句块对应,使得用该语句块来启动Java的异常处理机制。 A)if – else B)switch C)try D)throw (难度系数B)答案:C知识点:异常 6、下列表述中,不正确的是___。 A)标识符区分大小写B)改变变量的值不会改变其存储位置 C)常量可以完全大写D)单精度变量赋值常数后面的字母“f”可以省略答案:D知识点:变量难度系数C 7、下列陈述正确的是_________。 A)一个组件只能发生一种事件B)一个监听器处理一种事件 C)多个事件监听器被注册到一个组件会引起编译错误 D)如果多个事件监听器被注册到一个组件上,这些事件监听器一般都会起作用,但各个事件的处理顺序不确定 (难度系数A)答案:D知识点:事件处理 8、________属于容器的构件。 A)JFrame B)JButton C)JPnel D)JApplet 答案:A;难度:C;知识点:窗体与控件。 9、如果希望所有的控件在界面上均匀排列,应使用_____布局管理器。 A)BoxLayout B)GridLayout C)BorderLayout D)FlowLouLayout 答案:B;难度:B;知识点:窗体与控件。 10、下列关于构造方法的叙述中,错误的是____。 A)Java语言规定构造方法名与类名必须相同 B)Java语言规定构造方法没有返回值,但不用void声明 C)Java语言规定构造方法不可以重载 D)Java语言规定构造方法只能通过new自动调用 答案:C知识点:类难度系数C 11、在Java中,______负责对字节代码解释执行。 A)垃圾回收器B)虚拟机 C)编译器D)多线程机制 答案:B;难度:C;知识点:java特性。 12、_______属于合法的Java标识符。 A)cat B)5books C)+static D)-3.14159 答案:A;难度:C;知识点:语法基础。 13、在Java 中,_______表示换行符的转义字符。

java训练题一答案

java训练题一答案 训练题一 一、单选题 1.下列选项中,哪一项不属于Java语言的简单数据类型( B ) A. 整数型 B. 数组 C. 字符型 D. 浮点型 2.如果在编译Java程序时,编译结果报告说找不到编译的代码,通常的错误不是如下的哪一项?( A ) A. 没有import相应的包 B. 文件名拼写错误 C. 未加.java后缀 D. 源文件不在当前目录下 3.以下的选项中能正确表示Java语言中的一个整型常量的是( B ) A. 435. B. –34 C. 34,000 D. 4 5 6 4.现在一个变量为boolean b1; ,下面赋值语句中正确的是( A ) A. b1=true; B. b1=True; C. b1=“true”; D. b1=0; 5.现在2个char类型的变量a1=‘a’,a2=2;,当执行a1=(char)(a1+a2);语句之后,a1的值应该是( B ) A. ‘a’ B. ‘c’ C. 12

D. 语句在编译时出错 6.下列哪一个是表达式1+2+“aa”+3的值是( B ) A. “12aa3” B. “3aa3” C. “12aa” D. “aa3” 7.执行以下列程序段之后,变量n的值为( A ) public class Test7{ public static void main(String[] args) { int y=2, z=3, n=4; n=n+-y*z/n; System.out.println(n); } } A. 3 B. –1 C. –12 D. –3 8.执行下列代码段之后,变量z的值为( D ) public class Test8{ public static void main(String[] args) { int x=2, y=3, z=4; z-=--y-x--; System.out.println(z); } } A. 1 B. 2 C. 3 D. 4

Java习题附答案

第一章 一、 1、Java的三大体系分别是Java EE、Java S E、Java ME 2、Java程序的运行环境简称为JRE 3、编译Java程序需要使用javac命令 4、javac.exe和java.exe两个可执行程序存放在JDK安装目录的bin 目录下 5、patn环境变量用来存储Java的编译和运行工具所在的路径,而classpath环境变量则用来保存Java虚拟机要运行的“.class”文件路径 二、 1、通过Java虚拟机可以在不同的操作系统上运行Java程序,从而实现跨平台特性。(对) 2、JRE中包含了Java基础类库、JVM和开发工具。(错) 3、Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中。(对) 4、Java.util包含Java中大量工具类、集合类等,例如Arrays、List、Set。(对) 5、Java语言和C语言一样,是面向过程的语言。(错) 三、 1、以下选项中,哪些属于JDK工具?(多选)(ABCD) A、Java编译器

B、Java运行工具 C、Java文档生成工具 D、Java打包工具 2、Java属于以下哪种语言?(C) A、机器语言 B、汇编语言 C、高级语言 D、以上都不对 3、下面哪种类型的文件可以在Java虚拟机中运行?(D) A、.java B、.jre C、.exe D、.class 4、安装好JDK后,在其bin目录下有许多exe可执行文件,其中Java.exe 命令的作用是以下哪一种?(B) A、Java文档制作工具 B、Java解释器 C、Java编译器 D、Java启动器 5、如果jdk的安装路径为d:

Java试题附答案

Java试题附答案 第一题:判断题 1.Java语言是一种面向对象程序设计语言。( 对) 2.在Java有布尔类型,该类型只能有两个值:1和0。( 错) 3.Java中一个类可以同时继承多个其他类,但只能实现一个接口。( 错) 4.在Java中字符串的长度和字符串中字符的个数是相等的。( 对) 5.程序中的异常是错误的一种,通过调试程序可以解决异常。( 错) 6.使用Java语言既可以读写二进制文件,又可以读写文本文件。( 对) 7.框架JFrame作为图形用户界面的顶级容器,原子组件是不能直接放置到框架的。( 错) 不一样 8.当最小化小程序时就会调用小程序的stop()方法,暂时释放所占资源。( 对) 9.调试Java程序也就是运行Java程序,使用java命令即可完成。( 错) 10.线程就是程序,只不过是代码较少。( 错) 第二题:选择题 以下对Java语言描述不正确的是(C ) A Java语言是一个完全面对对象的语言 B Java是结构独立、与平台无关的语言 C Java是一种编译性语言 D Java是一种解释性语言 以下说法正确的是(C ) A Java程序文件名必须是和程序文件中定义的类型一致 B Java程序文件名可以和程序文件中定义的类名不一致 C Java源程序文件的扩展名必须是.java D以上A、C说法正确,B说法不正确

以下有关运行Java应用程序(Application)正确的说法是(B ) A Java应用程序是由Java编译器解释执行的 B Java应用程序经编译后生成的字节代码可由Java虚拟机解释执行 C Java应用程序经编译后可直接在操作系统下运行 D Java应用程序经编译后可直接在浏览器中运行 4、以下有关标识符说法中正确的是(C ) A、任何字符的组合都可以形成一个标识符 B、Java的关键字也可以作为标识符使用 C、标识符是以字母、下划线或$开头,后跟字母、数字、下划线或$的字符组合 D、标识符是不分大小写 5、以下说法正确的是(D ) A、基本字符数据类型有字符和字符串两种 B、字符类型占两个字节,可保存两个字符 C、字符类型占两个字节,可保存一个字符 D、以上说法都是错误的 6、以下有关类型转变的说法错误的是(D ) A、低精度类型向高精度类型转换时,不会丢失数据精度 B、系统会自动进行(整型或浮点型)低精度类型数据向高精度类型数据的转换 C、高精度类型数据向低精度类型数据的转换、整型和浮点型数据之间的转换,必须强制进行,有可能会引起数据丢失 D、高精度类型数据向低精度类型转换时,也不会丢失数据精度,因为转换是系统进行的 7、以下正确的关系表达式(D ) A、x≥y B、x+y<>z C、>=x D、x+y!=z

java练习题含答案

1.编写程序,用数组实现乘法小九九的存储和输出。【提示:采用多个一维数组。】 public class Multipation { public static void main(String[] args) { // TODO Auto-generated method stub int x[][]=new int[9][9]; for(int i=0;i<9;i++){ for(int j=0;j<9;j++){ if(i>=j){ int m=i+1; int n=j+1; x[i][j]=m*n; System.out.print(m+"*"+n+"="+x[i][j]); } } System.out.println(); } } }

2. 定义一个类Student,属性为学号、姓名和成绩;方法为增加记录SetRecord和得到记录GetRecord。SetRecord给出学号、姓名和成绩的赋值,GetRecord通过学号得到考生的成绩。public class Student { /** *@param args */ private int ID; private String name; private float score; public void SetRecord(int ID,String name,float score){ this.ID=ID; https://www.360docs.net/doc/ba19149460.html,=name; this.score=score; } public float getRecord(int ID){ if(ID==this.ID) return this.score; else return -1; } public static void main(String[] args) { // TODO Auto-generated method stub Student s=new Student(); s.SetRecord(0,"alex",100); float Sco=s.getRecord(0); System.out.print(Sco); } }

相关文档
最新文档