11.(Object 类)有下面代码 interface IA{
void ma();
}
class MyClass implements IA{ public void ma(){} public String toString(){
return “MyClass toString()”;
}
}
public class TestMyClass{
public static void main(String args[]){ IA ia = new MyClass(); System.out.println(ia);
}
}
选择正确答案: C
A.编译不通过,因为 IA 接口中没有定义 toString 方法
B.编译通过,输出:“IA@地址”
C.编译通过,输出:“MyClass toString()”
12.(StringBuilder)给定一个长度,随机产生一个该长度的字符串,由大写,小写字母以及数字组成。
Java 中随机数的生成:
java.util.Random r = new java.util.Random();
int a = r.nextInt(100): a 0-99 的随机数
提示:生成 int 值,并将 int 值转换成 ASCII 编码对应一个字符。
import java.util.Random;
import java.util.Scanner;
public class Test12 {
public static void main(String[] args) {
// TODO Auto-generated method stub
char[] c=new char[3];
StringBuilder s=new StringBuilder();
Random r=new Random();
Scanner sc=new Scanner(System.in);
int i=sc.nextInt();
for(int j=0;j<i;j++) {
c[0]=(char) (r.nextInt(10)+48);
c[1]=(char) (r.nextInt(26)+65);
c[2]=(char) (r.nextInt(26)+97);
s.append(c[r.nextInt(3)]);
}
System.out.println(s.toString());
}
}
20
Ie7lO6RQ6lRCIe1AwMC7
13.(String)给定一个字符串,判断该字符串中是否包含某个子串.如果包含,求出子串的所有出现位置。如: "abcd23abc34bcd"中, "bc"子串的出现位置为: 1,7,11.字符串和子串均由用户输入。
import java.util.Scanner;
public class Test13 {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
System.out.println("输入主字符串");
String s1=sc.next();
System.out.println("输入子字符串");
String s2=sc.next();
String[] s3=s1.split(s2);
StringBuffer sb = new StringBuffer();
int index = -1;
for(int i = 0;i < s1.length();i++) {
index = s1.indexOf(s2, index+1);
if(index == -1) {
break;
}
else {
sb.append(index+",");
}
}
if(sb.length()==0) {
System.out.println("不包含子字符串");
}else{
System.out.println("出現位置為"+sb.toString());
}
}
}
输入主字符串
dsahasiohf
输入子字符串
dhf
不包含子字符串
输入主字符串
hoioadhfhdiofhdasj
输入子字符串
fh
出現位置為7,12,
14.(综合)有如下 Student 对象
其中,classNum 表示学生的班号,例如“class05”。
有如下 List:
List list = new ArrayList();
list.add(new Student(“Tom”, 18, 100, “class05”));
list.add(new Student(“Jerry”, 22, 70, “class04”));
list.add(new Student(“Owen”, 25, 90, “class05”));
list.add(new Student(“Jim”, 30,80 , “class05”));
list.add(new Student(“Steve”, 28, 66, “class06”));
list.add(new Student(“Kevin”, 24, 100, “class04”));
在这个 list 的基础上,完成下列要求:
I.计算所有学生的平均年龄
II. 计算各个班级的平均分
import java.util.ArrayList;
import java.util.List;
class Student{
private String name;
public Student() {}
public Student(String name, int age, double score, String classString) {
this.name = name;
this.age = age;
this.score = score;
this.classString = classString;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public double getScore() {
return score;
}
public void setScore(double score) {
this.score = score;
}
public String getClassString() {
return classString;
}
public void setClassString(String classString) {
this.classString = classString;
}
private int age;
private double score;
private String classString;
}
public class Test14 {
public static void main(String[] args) {
// TODO Auto-generated method stub
List<Student> list = new ArrayList<Student>();
list.add(new Student( "Tom" , 18, 100,"classO5" ));
list.add(new Student( "Ierry" ,22, 70,"class04" ));
list.add(new Student( "Owen" , 25, 90,"class05" ));
list.add(new Student( "Jim" , 30,80,"class05" ));
list.add(new Student( "Steve" , 28, 66,"class06" ));
list.add(new Student( "Kevin" , 24, 100,"class04" ));
avgage(list);
avgScore(list);
}
public static void avgage(List<Student> list) {
int sum=0;
int avg;
for(int i=0;i<list.size();i++) {
sum=sum+list.get(i).getAge();
}
avg=sum/list.size();
System.out.println("平均年齡"+avg);
}
public static void avgScore(List<Student> list) {
double sum=0;
double avg;
for(int i=0;i<list.size();i++) {
sum=sum+list.get(i).getScore();
}
avg=sum/list.size();
System.out.println("平均成績"+avg);
}
}
平均年齡24
平均成績84.33333333333333