请教几道非常简单的JAVA期中考试题~~~请各位一定帮忙~~明天要交了~~

首先是个选择题:有以下代码段:try{thrownewEOFException();}catch(IOExceptione){System.out.println("IO... 首先是个选择题:

有以下代码段:
try {
throw new EOFException();
}
catch(IOException e) {
System.out.println("IOException Caught.");
}
这里,EOFException是IOException的子类。假设这段代码是在某个类中,以下哪种说法是正确的?

A. 代码不能通过编译
B. 代码能够运行并显示"IOException Caught."
C. throw语句将被忽略,因为没有相应的catch语句与它对应。
D. 因为throw语句与catch语句不匹配,程序终止。

然后是三个改错编程题:
1、下列程序实现对自然数1到10的求和计算,编译时程序出错,请说明原因并改正。
public class AddSum
{
public static void main(String[] args)
{
int sum = 0;
for (int i=1; i<=10; i++)
sum = sum + i;
System.out.println("i="+i+",sum="+sum);
}
}

2. 写一程序,它能接收命令行输入的若干个整数,排序后按从小到大的次序在屏幕上输出。

3.声明一个类Person,这个类有三个私有的成员变量name(姓名,String类型)、birthDate(出生年月,String类型)、isMale(是否男性,boolean类型)。同时编写一个构造方法和三个成员方法。构造方法带三个参数,用于设定三个成员变量的值。而三个成员方法则分别用于在标准输出上显示姓名、出生年月和性别。
展开
 我来答
世书云0a
2011-04-28 · TA获得超过230个赞
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:154万
展开全部
1题 选B 因为EOFException继承自IOException
改错1
System.out.println("i="+i+",sum="+sum);这一句在循环外面了,i是循环内的局部变量,所以这句编译不会通过,
修改方法:
改为System.out.println("sum="+sum);
或者是将System.out.println("i="+i+",sum="+sum);放到循环里面
2
import java.util.Arrays;
import java.util.Scanner;

public class Test2 {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.print("请输入数字的数量:");
int[] nums = new int[input.nextInt()];
for(int i =0; i<nums.length; i++){
System.out.print("请输入第"+(i+1)+"个数字:");
nums[i] = input.nextInt();
}
Arrays.sort(nums);
for(int i = 0; i<nums.length; i++)
System.out.print(nums[i]+" ");
}
}
3

public class Person
{
private String name;
private String birthDate;
private boolean isMale;

public Person(String name,String birthDate,boolean isMale){
this.name=name;
this.birthDate=birthDate;
this.isMale=isMale;
}

public void outputName(){
System.out.println("姓名:"+name);
}

public void outputBirthDate(){
System.out.println("生日:"+birthDate);
}

public void outputSex(){
System.out.println("性别:"+(isMale?"男":"女"));
}

}
DragonVS2010
2011-04-28 · TA获得超过124个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:180万
展开全部
1.B
2. for(int i=1;i<=10;i++){
sum=sum+i;
System.out.println("i="+i+",sum="+sum);
} for循环语句块 用 { }括起来
3.记得不清楚了,好像要用到 scanner
4.
public class Person{
private String name;
private String birthDate;

private boolean isMale;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getBirthDate() {
return birthDate;
}
public void setBirthDate(String birthDate) {
this.birthDate = birthDate;
}
public boolean isMale() {
return isMale;
}
public void setMale(boolean isMale) {
this.isMale = isMale;
}
public Person(String name,String birth,boolean isMale){
this.name=name;
this.birthDate=birth;
this.isMale=isMale;
}
public void print(){
System.out.println("name:"+this.name);
}
public void print(){
System.out.println("birthDate:"+this.birthDate);
}
public void print(){
if(this.isMale)
System.out.println("sex: 男");
else
System.out.println("sex:女");
}
}

你太懒了,基础问题不该总想着让别人直接给你答案,要学会自己思考。
追问
。。这是选修课。。我确实不会。。老师讲的就是念PPT。从一开始就都是术语,也没什么解释。听不懂。。谢谢你了。
追答
去对照PPT 
不过正在考试的话,找会的人给你瞧瞧算了~ 纯粹混学分的...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
露井桃D4
2011-04-28 · TA获得超过222个赞
知道小有建树答主
回答量:188
采纳率:100%
帮助的人:104万
展开全部
第一题选 B
第二题:for循环后面两个语句要用大括号括起来,如果不括起来,for循环只对sum=sum+i;有效,所以你在后面打印出i的时候,会报错说i没有定义。改正后为:for (int i=1; i<=10; i++)
{ sum = sum + i;
System.out.println("i="+i+",sum="+sum);}

import java.io.*;
import java.util.*;
public class In
{
public static void main(String[] args) throws IOException {
BufferedReader bd=new BufferedReader(new InputStreamReader(System.in));
String str1,str2,str3,str4;
System.out.println("请输入第一个整数");
str1=bd.readLine();
System.out.println("请输入第二个整数");
str2=bd.readLine();
System.out.println("请输入第三个整数");
str3=bd.readLine();
System.out.println("请输入第四个整数");
str4=bd.readLine();
int arr[]={Integer.parseInt(str1),Integer.parseInt(str2),Integer.parseInt(str3),Integer.parseInt(str4)};
Arrays.sort(arr);
for(int s:arr){
System.out.println(s);
}

}

}

第三题:
public class Person
{
private String name;
private String birthDate;
private boolean isMale;

public Person(String name,String birthDate,boolean isMale){
this.name=name;
this.birthDate=birthDate;
this.isMale=isMale;
}

public void showName(){
System.out.println("姓名:"+name);
}

public void showBirthDate(){
System.out.println("生日:"+birthDate);
}

public void showMale(){
System.out.println("是否男生:"+isMale);
}

public static void main(String args[]){

Person p=new Person("JORDAN","1988/06/21",true);
p.showName();
p.showBirthDate();
p.showMale();
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7caee40
2011-04-28 · 超过27用户采纳过TA的回答
知道答主
回答量:120
采纳率:0%
帮助的人:67.5万
展开全部
选择题:B
1、for循环应该是
for (int i=1; i<=10; i++) {
sum = sum + i;
System.out.println("i="+i+",sum="+sum);
}
i是局部变量,如果没有{},i在外面是没有定义的
2、不知道你们老师想考什么,java中最简单的方式是:
public static void sort(int[] args) {
Arrays.sort(args);

System.out.println(Arrays.toString(args));
}
测试方法:
int[] list = {1, 5, 19, 4,7, 8 ,3, 6};
sort(list);
3、
public class Person {
private String name = "";
private String birthDate = "";
private boolean isMale = true;

public Person(String name, String birthDate, boolean isMale) {
super();
this.name = name;
this.birthDate = birthDate;
this.isMale = isMale;
}

public void getName() {
System.out.println("姓名:" + name);
}
public void getBirthDate() {
System.out.println("出生年月:" + birthDate);
}
public void isMale() {
System.out.println("性别:" + (isMale? "男":"女"));
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
凤凰单丛茶百科
2011-04-28
知道答主
回答量:22
采纳率:0%
帮助的人:15.2万
展开全部
都是简单的题目!第一题不懂工具打开,运行下就知道了。
至于第二、三也是很基础的东西!
二题主要考你java.lang.util包下的两个类 Scanner与Arrays,当然还会用到数组
三:也就是面向对象中的继承
都是基础题
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式