💡 มารู้จัก Class สำหรับจัดการ String เจ๋ง ๆ ในภาษา Java กันเถอะ !! นั่นคือเจ้า StringBuilder นั่นเองจ้าาา !!
.
มีรายละเอียดยังไงบ้างงง ไปดูกันนนน !!~~
.
✨ StringBuilder เป็น Class สำหรับจัดการ String เพื่อให้เราสามารถแก้ไข แทรก หรือต่อ String ได้อย่างมีประสิทธิภาพนั่นเอง
.
🔸 Syntax
public final class StringBuilder
extends Object
implements Serializable, CharSequence
.
🖥️ ตัวอย่างฟังก์ชัน
StringBuilder () - สร้าง StringBuilder มีความจุเริ่มต้นคือ 16 อักขระ
StringBuilder(int capacity) - สร้าง StringBuilder ตามความยาวที่ระบุ
StringBuilder(CharSequence seq) - สร้าง Object StringBuilder ด้วยลำดับอักขระที่ระบุ
StringBuilder(String str) - สร้าง Object StringBuilder เริ่มต้นด้วย String
.
📑 ตัวอย่างการใช้งาน
import java.util.*;
import java.util.concurrent.LinkedBlockingQueue;
public class GFG1 {
public static void main(String[] argv)
throws Exception
{
//StringBuilder()
StringBuilder str
= new StringBuilder();
str.append("BorntoDev");
System.out.println("String = "
+ str.toString());
//StringBuilder(CharSequence)
StringBuilder str1
= new StringBuilder("BorntoDevBorntoDevBorntoDev");
System.out.println("String1 = "
+ str1.toString());
//StringBuilder(capacity)
StringBuilder str2
= new StringBuilder(10);
System.out.println("String2 capacity = "
+ str2.capacity());
//StringBuilder(String)
StringBuilder str3
= new StringBuilder(str1.toString());
System.out.println("String3 = "
+ str3.toString());
}
}
.
🔹 Output
String = BorntoDev
String1 = BorntoDevBorntoDevBorntoDev
String2 capacity = 10
String3 = BorntoDevBorntoDevBorntoDev
.
หวังว่าจะเป็นประโยชน์กับเพื่อน ๆ นะคร้าบบบบบ 🥰
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
同時也有5部Youtube影片,追蹤數超過3萬的網紅#ミニマリストライフ,也在其Youtube影片中提到,<を半角に置換してください >を半角に置換してください。 #include <stdio.h> #include <stdlib.h> #include <conio.h> int main(void) { char *hand[] ={"グー","チョキ","パー"}; ...
「int main」的推薦目錄:
- 關於int main 在 BorntoDev Facebook 的最讚貼文
- 關於int main 在 BorntoDev Facebook 的精選貼文
- 關於int main 在 BorntoDev Facebook 的最佳貼文
- 關於int main 在 #ミニマリストライフ Youtube 的最佳貼文
- 關於int main 在 이다희:-D A H E E channel Youtube 的精選貼文
- 關於int main 在 prasertcbs Youtube 的最佳解答
- 關於int main 在 Re: [問題] main()的回傳值為什麼是int - 看板C_and_CPP 的評價
- 關於int main 在 作者intmain 的總覽(PTT發文,留言,暱稱) - PTT網頁版 的評價
- 關於int main 在 What should main() return in C and C++? - Stack Overflow 的評價
- 關於int main 在 你所不知道的C 語言:開發工具和規格標準篇(2017-05-16) 的評價
int main 在 BorntoDev Facebook 的精選貼文
🔥 ขอสั้น ๆ วันนี้ขอนำเสนอออ การใช้ argc กับ argv ใน C++
.
มันคืออะไร มีรายละเอียดยังไง ถ้าพร้อมแล้วไปอ่านกันโลดดด !!
.
✨ argc (ARGument Count) คือ จำนวนข้อมูลที่ถูกนำเข้าจาก command-line ซึ่งโดยปกติแล้ว ขนาดของ argc จะเริ่มต้นด้วย 1 เสมอคือ ชื่อของโปรแกรม (ถ้ามีการใส่ Argument เพิ่มก็บวกเพิ่มตามข้อมูลที่ใส่มา)
.
⭐ argv (ARGument Vector) คือ Array ที่เก็บข้อมูลตัวอักษรที่นำเข้าจาก command-line มีขนาดเท่ากับ argc ซึ่งที่ตำแหน่งแรก (0) จะเก็บชื่อของโปรแกรมไว้เสมอ (ถ้ามีการใส่ค่ามาผ่าน command-line ตำแหน่งถัด ๆ ไปก็คือตัวข้อมูลนั้น ๆ)
.
📑 ตัวอย่าง:
//file name test.cpp
#include
using namespace std;
int main(int argc, char* argv[]) {
cout << "You have entered " << argc
<< " arguments:" << "\n";
for (int i = 0; i < argc; ++i)
cout << argv[i] << "\n";
return 0;
}
//input in terminal
$ g++ -o run test.cpp
$ ./run 1 test "data test"
//output
You have entered 4 arguments:
./run
1
test
data test
.
อู้ววเป็นไงบ้างง ไปลองใช้ดูน้า ได้ผลยังไงมาแชร์ให้ฟังกันบ้างง 😆
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
int main 在 BorntoDev Facebook 的最佳貼文
🖥️ เมื่อเราเรียนเกี่ยวกับการเขียนโปรแกรมภาษา C นั้น สิ่งหนึ่งเลยที่ทุกคนจะถูกสอนกันมาว่า ใน main() นั้นเราต้องทำการ return 0 ทุกครั้งเหมือนกับว่าเป็น “กฎเหล็กของภาษา C” เลยก็ว่าได้ แล้วทุกคนสงสัยมั้ยว่า ทำไมต้องใส่ return 0 ทุกครั้ง ในวันนี้เรามีคำตอบมาแบ่งปันกัน มาดูกันเลย
.
👉 การ return 0 นั้น เป็นกฎที่เพิ่มเข้ามาในมาตรฐานภาษา C ในปี 1999 หรือ C99 นั่นเอง โดยระบุไว้ว่า ต้องทำการ return กลับเป็นตัวเลขเสมอ เนื่องจากก่อนที่จะเป็น C99 นั้น จะใช้รูปแบบ void main() (ปัจจุบันคือ int main()) ซึ่งเจ้า main() จะทำการส่งกลับค่า void กลับนั่นเอง
.
🤼♂️ แล้วในทีนี้มีการกำหนดมาตรฐานขึ้นมาใหม่ (C99) ให้ return int แทน ดั้งนั้นเพื่อเป็นหลักสากลว่า โปรแกรมนั้นทำงานได้ถูกต้องและเสร็จสิ้นโดยสมบูรณ์แล้วโดยไม่มี error จะให้ทำการ return 0 นั่นเอง และอีกอย่างหนึ่งคือเพื่อป้องกันไม่ให้ IDE compile มีปัญหา (ส่วนมากจะถูกสอนให้ใส่ return 0 ก็เพราะปัญหานี้เลย เพราะบาง IDE จะ compile ไม่ผ่านถ้าไม่ใส่ return 0)
.
🌈 ถ้าเราเคยสังเกตุเห็นตอนเราเขียนโปรแกรมแล้วมี error หรือปัญหาอะไรสักอย่าง ในหน้าต่าง Terminal จะมีการ return ด้วยเลขอื่น ๆ ด้วยที่ไม่ใช่เลข 0 (เช่น return 2542347)
.
📍 สรุปเลยก็คือ การที่เราใส่ return 0 นั้นเพื่อเป็นสัญลักษณ์ว่า โปรแกรมที่เราเขียนนั้นทำงานได้ถูกต้อง และไม่มี error ซึ่งเจ้าโปรแกรมจะ return ค่าออกมาหลังจากเรารันโปรแกรมของเรานั่นเอง
.
borntoDev - 🦖 สร้างการเรียนรู้ที่ดีสำหรับสายไอทีในทุกวัน
int main 在 #ミニマリストライフ Youtube 的最佳貼文
<を半角に置換してください
>を半角に置換してください。
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main(void)
{
char *hand[] ={"グー","チョキ","パー"};
char *jud[] = {"あなたの勝ち","あなたと引き分け","あなたの負け"};
char *mes[] = {"私は「%s」で、%sです。\n","不正な入力です。","1:グー, 2:チョキ, 3:パーを入力:","『%c』\n"};
int yh,oh,hn,f=1;
char inp;
hn = sizeof(hand)/sizeof(hand[0]);
while(f) //勝ちの場合は0となり抜ける
{
oh = rand()%hn; //相手の手を乱数で取得
printf(mes[2]); //入力を促す表示
inp = getch(); //一文字取得
printf(mes[3],inp); //プレイヤーが入力した文字を表示
yh = inp - '1'; //機種依存設定 文字コードの1が数字の0になるように計算
if(yh>=0 & yh <hn){ //1~3が入力されていれば処理する
f = (yh - oh + 4) % hn ; //じゃんけん一発判定この式だけで判定可能。
printf(mes[0],hand[oh],jud[f]); //判定を表示
}
else printf(mes[1]); //不正な入力の表示
}
return 0;
}
int main 在 이다희:-D A H E E channel Youtube 的精選貼文
【プレゼント?イベント終了】
たくさんのご応募ありがとうございました!
【VTコスメティックス】
https://vtcosmetics.jp
https://www.qoo10.jp/shop/vtcosmetic
http://vt-cosmetics.com/shop/main/int...
香水はまだ韓国のポップアップストアでしか買えません?
ポップアップストアは2019年6月20日まで釜山のロッテデパートセンタムシティ店で開かれます♪
Twitter | https://twitter.com/DaaHeeLee
Instagram | https://www.instagram.com/daahee.l
int main 在 prasertcbs Youtube 的最佳解答
การเขียนโปรแกรมที่ให้ผู้ใช้สามารถผ่านค่า parameters หรือ arguments ผ่านทาง command line ได้
เข้าใจการใช้งาน int main(int argc, char *argv[])
การตรวจสอบจำนวน parameters ที่ผ่านเข้ามา
การแปลงพารามิเตอร์ให้เป็นตัวเลข
=== ดาวน์โหลดไฟล์ตัวอย่างได้ที่ https://goo.gl/FZIj6t
เชิญสมัครเป็นสมาชิกของช่องนี้ได้ที่ ► https://www.youtube.com/subscription_center?add_user=prasertcbs
playlist สอนภาษา C เบื้องต้น ► https://www.youtube.com/watch?v=Z_u8Nh_Zlqc&list=PLoTScYm9O0GHHgz0S1tSyIl7vkG0y105z
playlist สอนภาษา C++ เบื้องต้น ► https://www.youtube.com/watch?v=_NHyJBIxc40&list=PLoTScYm9O0GEfZwqM2KyCBcPTVsc6cU_i
playlist สอนภาษา C# เบื้องต้น ► https://www.youtube.com/watch?v=hhl49jwOIZI&list=PLoTScYm9O0GE4trr-XPozJRwaY7V9hx8K
playlist สอนภาษาจาวา Java เบื้องต้น ► https://www.youtube.com/watch?v=O3rW9JvADfU&list=PLoTScYm9O0GF26yW0zVc2rzjkygafsILN
playlist สอนการทำ Unit Test ภาษาจาวา Java ► https://www.youtube.com/watch?v=R11yg8hKApU&list=PLoTScYm9O0GHiK3KNdH_PrNB0G3-kb1Bi
playlist สอนภาษาไพธอน Python เบื้องต้น ► https://www.youtube.com/watch?v=DI7eca5Kzdc&list=PLoTScYm9O0GH4YQs9t4tf2RIYolHt_YwW
playlist สอนภาษาไพธอน Python การเขียนโปรแกรมเชิงวัตถุ (OOP: Object-Oriented Programming) ► https://www.youtube.com/watch?v=4bVBSluxJNI&list=PLoTScYm9O0GF_wbU-7layLaSuHjzhIRc9
playlist สอนภาษา R เบื้องต้น ► https://www.youtube.com/watch?v=oy4qViQLXsI&list=PLoTScYm9O0GF6qjrRuZFSHdnBXD2KVICp
playlist สอนภาษา PHP เบื้องต้น ► https://www.youtube.com/watch?v=zlRDiXjYVo4&list=PLoTScYm9O0GH_6LARFxozL_viEsXV2wgO
int main 在 作者intmain 的總覽(PTT發文,留言,暱稱) - PTT網頁版 的推薦與評價
23 F 推intmain: 我們家也是一直被抱怨後來走廊整條鋪上ikea地墊後05/31 07:40. 24 F →intmain: 就沒抱怨了(總共六塊QQ 荷包哭哭05/31 07:40. ... <看更多>
int main 在 Re: [問題] main()的回傳值為什麼是int - 看板C_and_CPP 的推薦與評價
※ 引述《falconlegend (獵鷹)》之銘言:
: 1
: 1
: 請問int main(int argc,char*argv[])
: 最前面的int是啥麼作用
: $$1
要講 main 傳回值時,勢必從 main 裡開始細解。
早期可接受的 main 有
void main(int argc, char **argv);
void main(void);
int main(int argc, char **argv);
int main(void);
忘了從哪裡開始,標準規定所有的 main 一定只能可傳回 int,也就是只剩兩個
int main(int argc, char**argv);
int main(void);
其它的一些特定 os 或特定 compiler ,可能會看到
int main(int argc, char **argv, char **envp);
int main(int argc, char **argv, char **envp, char **apple);
上面兩個就暫時別理它。
---
往下說之前, https://edisonx.pixnet.net/blog/post/57060736
這份網頁,一字一字從頭看到 3. 進行程式碼測試 結束並實作,再看接下來的東西。
如果上面連結,或下面說明看不懂的話,代表還不是時候了解這問題。
或許等學到 function 時再回來看好些 (除非你已有其他程式語言經驗)
---
傳回值在上一篇,purpose 大有提過,它是要告訴作業系統,
這份程式已經結束了,怎麼結束的?正常執行結束?莫名奇妙結束?
人為直接關閉結束?不管怎麼結束,你要怎麼告訴作業系統?
不可能是直接存說
"程式正常結束"、"程式被使用者中斷"、"程式莫名奇妙結束"... etc,
這些原因,都存放在一個作業系統的變數 (環境變數) 裡面,而這變數,
目前都是以「整數」來表示,所以是 int,不會是「小數點」float,
也不會是「字串」string / char* 。
於是,在自己寫的程式, main ,最後一定要告訴作業系統,這個程式是
怎麼結束的,所以回傳 int。
而在 Windows 作業系統裡面,要知道程式的傳回值,是去看 ERRORLEVEL,
在 Linux 系列裡面,是去看 $? ,這裡一堆廢話,都是 purpose 剛三行就講完的。
---
現在我寫一份簡單的程式,內容是將輸入的兩個引數做除法動作,
假設生成 div.exe 正常的呼叫是長這樣 div.exe 1 2,共 3 個引數,
欲設計之 main 的傳回值如下敘述:
0 : 成功
1 : 輸入參數過多,如 div.exe 1 2 3
2 : 輸入參數不足,如 div.exe
3 : 分母為零,如 div.exe 1 0
4 : 其它可能未定義之錯誤。
程式碼大致如下
/* filename : div.c */
#include <stdio.h>
#include <stdlib.h>
#define SUCCESS 0 /* 成功 */
#define PARAM_OVER 1 /* 參數過多 */
#define PARAM_LSS 2 /* 參數不足 */
#define Q_ZERO 3 /* 分母為零 */
#define OTHER_FAIL 4 /* 其它未定義失敗 */
int main(int argc, char **argv)
{
int a, b;
if(argc==3) { // 引數剛好為 3
a=atoi(argv[1]), b=atoi(argv[2]);
if(b==0) return Q_ZERO; // 分母為 0, 傳回 3
else { // 分母不為 0
printf("%d/%d=%d", a, b, a/b);
return SUCCESS; // 成功,傳回 0
}
}
else if(argc>3) return PARAM_OVER; // 參數過多
else if(argc<3) return PARAM_LSS; // 參數不足
else return OTHER_FAIL; // 其它未定義失敗
}
---
產生 div.exe 後,放到 C:\ 下,開啟你的命令提示字元 (WinKey+R, cmd.exe),
切到 C:\ 根目錄底下,進行以下操作。
1. 正常輸入情況
C:\> div.exe 10 2
10/2=5 (正常輸出)
C:\> echo %ERRORLEVEL% (馬上輸入這指令進去)
0 (因 div.exe 程式裡面正常執行完,傳回 SUCCESS,即0)
2. 多一個參數情況
C:\> div.exe 10 2 1
(沒有輸出,因錯誤在 div.exe 裡面就沒輸出)
C:\> echo %ERRORLEVEL% (馬上輸入這指令進去)
1 (div.exe 程式執行完,傳回 PARAM_OVER,即 1)
3. 少一個參數情況
C:\> div.exe 10
(沒有輸出,因錯誤在 div.exe 裡面就沒輸出)
C:\> echo %ERRORLEVEL% (馬上輸入這指令進去)
2 (div.exe 程式執行完,傳回 PARAM_LSS,即 2)
最後一個狀況除0讓你自己試。
---
到這裡基本上對於程式傳回值大概有一定了解,但這可以幹嘛?
我只能說如果沒有寫 shell、batch 的話,對它並不會太有認知好用在哪,
可以試想一下,假設你寫了一個 C 語言 (或其他可以傳回變數的程式語言),
拿給寫批次檔的人用,但別人用了可能不知道成功或失敗,
即使失敗了,也會想知道原因。對寫批次檔的人而言,最方便查看錯誤碼的方式,
就是去看 ErrorLevel、$? ,故在主程式 main 那裡的 return value,
是有意義的。
如果看不懂什麼叫 return value,那就別鑽牛角尖了,先往下 K 熟就好,
這部份也是一堆人和我一樣,一知半解,程式還不是寫得好好、人還不是活得好好的。
--
20110917 23:01 修錯字 - echo %ERROREVEL% --> echo %ERRORLEVEL%
20120315 修 C 語言程式碼筆誤
--
YouLoveMe() ? LetItBe() : LetMeFree();
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 180.177.78.41
... <看更多>