【281天】我愛刷題系列(40)

叨叨兩句

  1. java

牛客網——java專項練習020

1

一個完整的URL地址由(),(),端口和文件四部分組成。
正確答案: B算法

  1. 協議 用戶名code

  2. 協議 主機名orm

  3. 主機名 ip對象

  4. 以上都不正確排序

URL(Uniform Resource Locator) ,統一資源定位符,可以對因特網的資源進行定位。
URL通常有四部分組成: <協議>://<主機>:<端口>/<路徑> 
如今最經常使用的<協議>爲http協議。
<主機>是指主機在因特網上的域名。
http協議的默認<端口>爲80(能夠省略)。
<路徑>是指要活的的文件的路徑。

ip地址+子網掩碼=主機號

2

下列關於java抽象類的說法哪一個正確?
正確答案: D繼承

  1. 某個抽象類的父類是抽象類,則這個子類必須重載父類的全部抽象方法遞歸

  2. 接口和抽象類是同一回事接口

  3. 能夠用抽象類直接去實例化建立對象ip

  4. 一個類只能繼承一個抽象類

A.非抽象類繼承抽象類,必須將抽象類中的方法重寫,不然需將方法再次申明爲抽象。因此這個方法還可再次聲明爲抽象,而不用重寫。而用重載也錯了,重載是在同一個類中,重寫、覆蓋纔是在父子類中。
B.抽象類能夠沒有抽象方法,接口是徹底的抽象,只能出現抽象方法。
C.抽象類沒法實例化,沒法建立對象。現實生活中也有抽象類的類子,好比說人類是一個抽象類,沒法建立一個叫人類的對象,人繼承人類來建立對象。何況抽象類中的抽象方法只有聲明,沒有主體,若是實例化了,又如何去實現調用呢?
D由於類是單繼承的,類繼承了一個抽象類之後,就不能再繼承其餘類了。

3

下面程序的輸出結果是什麼。

public class A2{
public static void main(String[] args){

int[] a={2,4,6,8,3,6,9,12};
doSomething(a,0,a.length-1);
for(int i=0;i<=a.length-1;i++)
System.out.print(a[i]+" ");

}
private static void doSomething(int[] a,int start,int end){

if(start<end){
    int p=core(a,start,end);
    doSomething(a,start,p-1);
    doSomething(a,p+1,end);
}

}
private static int core(int[] a,int start,int end)
{

int x=a[end];
int i=start;
for(int j=start;j<=end-1;j++){
    if(a[j]>=x){
        swap(a,i,j);
        i++;//交換了幾回 
    }
}//把最大的放到最後
swap(a,i,end);//把最大的放到i的位置 
return i;

}

private static void swap(int[] a,int i,int j)
{

int tmp=a[i];
a[i]=a[j];
a[j]=tmp;

}
}

這個排序算法雖然能實現從大到小排序,但看得人眼暈。。。
每次排序,先拿前面的值依次和末尾值比較,比末尾值大的則交換,每次排序最大的值放到末尾;關鍵還沒完,還要再和前面的值交換,將最大值放到前面。。。
是快排吧 老是以最後一個數做爲區分 大的放前面 小的放後面 而後遞歸兩個區間
相關文章
相關標籤/搜索