[JAVA] StringTokenizer

今天閒著跑去高中生點了一題出來 – 讀取練習-強大的加法

用Scanner自動濾掉空格結果還是有錯,

看得出來測資應該就不像範例只有一位元那麼單純。

google 一下,找到了一個可以拆解字串的類別 – StringTokenizer

StringTokenizer 預設情況下是以空白符號分解字串。

先讀取整行:

String si = input.nextLine();

再來拆解:

StringTokenizer sc = new StringTokenizer(si);

這時候整行字串會依空格將整行字串拆解。

例如今天傳入一行 Hello world   by           Calos

那麼拆解後就會變成:

Hello
world
by
calos

有人應該有疑問說,空格很多格,不會拆解出一堆空白字串嗎??

上面有提到:<strong>StringTokenizer預設情況下是以空白符號分解字串

即讀取到space時是自動忽略,並且以 space 來判定一個字串的結尾。

題目範例輸入:

1 2
2 5 8 8 8 5

依第二行測資,字串會拆解為:2、5、8、8、8、5

把拆解過後的數字轉型並加總:

int sum = 0;
while ( sc.hasMoreTokens() ) {
    sum += Long.parseLong( sc.nextToken() );
}

輸出:

System.out.println(sum); //36

ps: 先拉套件進來才能正常運作

import java.util.*;
import java.math.*;

[FreeBSD] 開啟SSH遠端連線

修改 /etc/ssh/sshd_config

PermitRootLogin yes
PermitEmptyPasswords no
PasswordAuthentication yes

 

修改 /etc/inetd.conf,將以下的註解拿掉(開啟遠端登入root)

ssh stream tcp nowait root /usr/sbin/sshd sshd -i -4
ssh stream tcp6 nowait root /usr/sbin/sshd sshd -i -6

 

/etc/rc.conf 加入

sshd_enable="yes"

 

重新啟動服務

/etc/rc.d/sshd restart