《Java技术》第五次实验

阅读下面程序,分析代码是否能编译通过,如果不能,说明原因,并进行改正。如果能,列出运行结果

 interface Animal{    
    void breathe();
    void run();
    void eat();
}
class Dog implements Animal{
    public void breathe(){
        System.out.println("I'm breathing");
    }
    void eat(){
        System.out.println("I'm eating");
    }
}
public class Test{
    public static void main(String[] args){
        Dog dog = new Dog();
        dog.breathe();
        dog.eat();
    }
}

不能编译通过应修改为

interface Animal{    
void breathe();
void run();
void eat();
}
class Dog implements Animal{
public void breathe(){
    System.out.println("I'm breathing");
}
 public void eat(){
    System.out.println("I'm  eating");
}
public void run() {
}
}
public class Test{
public static void main(String[] args){
    Dog dog = new Dog();
    dog.breathe();
    dog.eat();
}
}

运行结果为

 I'm breathing
 I'm eating

运行下面的程序

import java.util.Arrays;
public class Test{
    public static void main(String[] args){
        String[] fruits = {"peach","banana","orange","apple"};
        Arrays.sort(fruits);
        for(int i = 0;i < fruits.length;i++)
        {
            System.out.println(fruits[i]);
        }
    }
}

程序输出的结果是升序排序的。查看String 类的源码,说明是如何实现的?如果现在希望对输出的结果进行降序排序,该如何处理?修改上述代码,实现按照字母顺序逆序排序。
查看String源码

public final class String implements java.io.Serializable, Comparable<String>, CharSequence {
 private final int offset;
 private final int count;
 public String() {
 this.offset = 0;
this.count = 0;
this.value = new char[0];
}
public String(String original) {
int size = original.count;
char[] originalValue = original.value;
char[] v;
if (originalValue.length > size) {
    int off = original.offset;
    v = Arrays.copyOfRange(originalValue, off, off+size);
} else {
    v = originalValue;
}
this.offset = 0;
this.count = size;
this.value = v;
}

逆序输出代码为

import java.util.Arrays;
public class Test {
public static void main(String[] args) {
    String[] fruits = { "peach", "banana", "orange", "apple" };
    Arrays.sort(fruits);
    for (int i = fruits.length-1; i >= 0; i--) {
        System.out.println(fruits[i]);
    }
}
}

运行结果为

peach
orange
banana
apple

代码托管
[https://git.oschina.net/ybyyy/saas.git]

posted on 2017-04-25 16:25  带头大哥Zzz  阅读(152)  评论(0)    收藏  举报

导航