【再探JAVA】Split & 继承实现_Oracle赛前试考

今天Oracle来了一次赛前试考呢~

吾辈的JAVA算是漏洞百出的菜鸟了,也凭着坚毅的意志(和高人@ZoeCur 的指点)完成了试考呢~

选择题看似是问分隔之后有多少份,但实际上是问text.split的作用——

先给个完整源码吧:

package Test01;

public class Test 
{
	public static void main(String[] args)
	{
		String text = "Welcome to Java contest";
		String[] words = text.split("\s");
		System.out.println(words.length);	
	}

}
编译时,在“\s"的部分会报错:

Invalid escape sequence (valid ones are  \b  \t  \n  \f  \r  \"  \'  \\ )

关于Split的使用,MSDN上给出了这样的源码(Language:C#): 【看到了不错的点子,可以用这个去过CodeHunt那道AEIOU的题了】

using System;

public class SplitTest {
    public static void Main() {

        string words = "This is a list of words, with: a bit of punctuation" +
                       "\tand a tab character.";

        string [] split = words.Split(new Char [] {' ', ',', '.', ':', '\t' });

        foreach (string s in split) {

            if (s.Trim() != "")
                Console.WriteLine(s);
        }
    }
}
// The example displays the following output to the console:
//       This
//       is
//       a
//       list
//       of
//       words
//       with
//       a
//       bit
//       of
//       punctuation
//       and
//       a
//       tab
//       character

返回的数组元素中不包含分隔符字符。

如果此实例不包含 separator 中的任何字符,则返回的数组由包含此实例的单个元素组成。

如果 separator 参数为 null 或不包含任何字符,则采用空白字符作为分隔符。 空白字符由 Unicode 标准定义,如果将它们传递给Char.IsWhiteSpace 方法,将返回 true

separator 的每一个元素都定义一个单独的分隔符字符。 如果两个分隔符相邻,或者在此实例的开头或末尾找到分隔符,则相对应的数组元素包含 Empty 下表提供了示例:

字符串值

Separator

返回的数组

"42, 12, 19"

new Char[] {',', ' '} (C#)

Char() = {","c, " "c}) (Visual Basic)

{"42", "", "12", "", "19"}

"42..12..19"

new Char[] {'.'} (C#)

Char() = {"."c} (Visual Basic)

{"42", "", "12", "", "19"}

"Banana"

new Char[] {'.'} (C#)

Char() = {"."c} (Visual Basic)

{"Banana"}

"Darb\nSmarba" (C#)

"Darb" & vbLf & "Smarba" (Visual Basic)

new Char[] {} (C#)

Char() = {} (Visual Basic)

{"Darb", "Smarba"}

"Darb\nSmarba" (C#)

"Darb" & vbLf & "Smarba" (Visual Basic)

null (C#)

Nothing (Visual Basic)

{"Darb", "Smarba"}

然后就是那些呆萌呆萌的编程题咯~

为啥我敢在这写……就不怕错了误导大家嘛?
哈哈~~ 每道题我都从【等待评判中】一直等到了【完全正确】才写的下一题哦~


嘛,话不多说,这次大概能学到东西的就是继承与实现了(前两道抄答案的题目如果都有人写错我就没话说了哟~)

先给了一个抽象类,里头一个抽象函数,让你写一个公开矩形类继承它,需要构造函数和长宽的Get\Set函数

package Test02;

public abstract class Shape {
	
	abstract public int getArea();
}
这是个抽象类,是个抽象类,因为很重要所以说两次。

抽象类里的东西继承类里你要是不给它写出来,你告诉我你Eclipse老提醒你要加abstract在你的public class前头,

想想看,让你写的就是实现它要不然Shape类里抽象它干啥?
关于Get\Set,Eclipse里有一键添加的快捷键哦~ 不要告诉别人我没提醒你哦~

构造函数,花括号里的东西应该会写吧……

为了方便理解还是贴个代码好了:

package Test02;

public class Rectangle extends Shape{
	int width;
	int height;
	
	Rectangle(int w,int h){width=w; height=h;}
	
	public int getWidth() {
		return width;
	}
	public void setWidth(int width) {
		this.width = width;
	}
	public int getHeight() {
		return height;
	}
	public void setHeight(int height) {
		this.height = height;
	}
	
	public int getArea()
	{
		return width * height;
	}
	
	public static void main(String[] args)
	{
		
	}
}

然后是要一个接口的实现类……

当时就懵掉了,啥,接口是啥,实现类又是啥,能吃么?

后来问了大神,啊,关键字implements,然后构造函数是要new一个IList,那就声明一个IList,然后为它new一个写在构造函数里就好啦~

接口如下:

package Test03;

public interface IList {
	void add(Object elem);
	Object get(int index);
	int size();
	void clear();
}

实现类如下:

package Test03;

public class MyList implements IList{
	
	public IList list;
	MyList(){list = new MyList();}
	
	public void add(Object elem)
	{
		list.add(elem);
	}
	
	public Object get(int index)
	{
		Object obj = list.get(index);
		return obj;
	}
	
	public int size()
	{
		return list.size();
	}
	
	public void clear()
	{
		list.clear();
	}
	
	public static void main(String[] args)
	{
		
	}
}







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

糖果天王

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值