11.(Object类)有下面代码
public class TestMyClass {
public static void main(String[] args) {
IA ia = new MyClass();
System.out.println(ia);
}
}
interface IA{
void ma();
}
class MyClass implements IA{
public void ma() {}
public String toString() {
return "MyClass toString()";
}
}
运行结果:
MyClass toString()
toString()方法是Object类中定义的方法,不是子类MyClass独有的方法,接口也有,子类重写了toString方法,所以接口中的toString方法就被隐藏了,所以会调用子类的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.Scanner;
public class Test12 {
public static void main(String[] args) {
System.out.print("指定字符串的长度:");
Scanner s = new Scanner(System.in);
int l = s.nextInt();
java.util.Random r = new java.util.Random();
StringBuilder b = new StringBuilder();
for (int i = 0; i < l; i++) {
int c = r.nextInt(123);
if (c >= 65 && c <= 90) {
char c2 = (char) c;
b = b.append(String.valueOf(c2));
} else if (c >= 97 && c <= 122) {
char c3 = (char) c;
b = b.append(String.valueOf(c3));
} else {
c = r.nextInt(10);
b = b.append(c);
}
}
System.out.println(b);
}
}
运行结果:以长度5为例
13.(String)给定一个字符串,判断该字符串中是否包含某个子串,如果包含,求出子串的所有出现位置。
如:“abcd23abc34bcd”中,“bc”字串的出现位置为:1,7,11.字符串和子串均由用户输入。
import java.util.Scanner;
public class Test13 {
public static void main(String[] args) {
System.out.print("请输入字符串:");
Scanner s = new Scanner(System.in);
String stu1 = s.next();
System.out.print("请输入某个字串:");
String stu2 = s.next();
m1(stu1, stu2);
}
public static void m1(String a, String b) {
if (a.contains(b)) {
for (int i = 0; i < a.length(); i++) {
if (a.contains(b)) {
System.out.print(a.indexOf(b) + " ");
a = a.replaceFirst(b, " ");
} else {
break;
}
}
} else {
System.out.println("对不起,您输入的子串不属于此字符串!");
}
}
}
运行结果:
import java.util.*;
public class Test14 {
public static void main(String[] args) {
List<Student> list = new ArrayList<Student>();
list.add(new Student("Tom",18,100,"class05"));
list.add(new Student("Jerry",20,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"));
System.out.println("所有学生的平均年龄为:"+aveAge(list));
System.out.println("所有学生的平均分为:"+aveScore(list));
}
public static int aveAge(List<Student> list) {
int aveage = 0;
for (int i = 0; i < list.size(); i++) {
aveage += list.get(i).age;
}
return aveage/list.size();
}
public static double aveScore(List<Student> list) {
double avescoer = 0.0;
for (int i = 0; i < list.size(); i++) {
avescoer += list.get(i).score;
}
return avescoer/list.size();
}
}
class Student{
String name;
int age;
double score;
String classNum;
public Student() {}
public Student(String name, int age, double score, String classNum) {
super();
this.name = name;
this.age = age;
this.score = score;
this.classNum = classNum;
}
}
运行结果: