לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 09-12-2005, 13:25
  pipfreak pipfreak אינו מחובר  
 
חבר מתאריך: 18.11.05
הודעות: 23
שאלה שאלה דחופה בJAVA

איך אנח מבצע חיפוש במחרוזת מסויימת?
לדוגמא, ישלי מחרוזת שכוללת את השמות הבאים:
ADAMS Andrew 7583
AGUILAR Imelda 6518
ALBERS Daniel 7540
AMAUDRUZ Pierre 7567
AMES Friedhelm 7581
ANDERSSON Willy 6238
ANDREYEV Andrei 6491
AOKI Jonathan 6820
ARSENEAU Donald 6295
ASHERY Danny 6188
AUSTEN Stuart 7321
AZUMA Dick 6539
BAARTMAN Richard 7343
BALL Gordon 7334
BARRETT Bruce 6466
BATTERSBY Glenn 7408
BAYES Ryan 6585
BECK Bill 6346
BENNETT Peter 7456
BERERA Kevin 6499
BERGHAUS Frank 6193
BIRCHALL Jim 6151
BISHOP Daryl 7532
BLACKMORE Ewart 7461
BLOMELEY Laura 6840
BOWMAN Lori 6223
BRAND Mike 7367
BRAUN Jennifer 7474
BRICAULT Pierre 7417
BRODEUR Maxime 6454
BROLIN Terry 6199
BRYMAN Doug 7338
BUCHINGER Fritz 6805
BUCHMANN Lothar 7403
BUENO James 6333
BERGHAUS Frank 6193
BYLINSKY Alexi 7535
BYLINSKY Iouri 7311
CAMERON David 7482
CAPELL Pierre 6446
CAVE Travis 7594
CESSFORD Jamie 7328
CHAN Steve 6373
CHAPMAN Bill 6321
CHOW Bob 7469
CHURCHMAN Randy 6239
CIFARELLI Franco 7426
CLARK George 7327
CLARKSON Ken 6394
COCOLIOS Thomas 7546
COOMBES Herb 6406
COX Brenda 7434
CRAWFORD Kelly 6547
CROSS David 6594
CYBURT Richard 6445
DAVIDS Barry 7396
DAVIEL Andrew 7376
DAVIEL Suzannah 7306
DAVYDOV Yuri 6222
DAWSON Ken 7455
DEATRICH Denice 6204
DELHEIJ Paul 7440
DENNISON Glen 6282
DILLING Jens 7413
DOMBSKY Marik 7371
DOORNBOS Jaap 7344
DOWLING Alisa 7429
DRIESSEN Elly 7352
DROZDOFF John 7568
DUBE Raymond 6113
DUNBAR Steve 6400
DUTTO Gerardo 7419
EDGE John 7316
EDGECOCK Rob 7380
ENCHEVICH Ivan 7342
ENGELBERTZ Andre 6296
EVANS Brian 7448
EVANS Doug 6423
FANG Shuyao 6281
FARRELL Josie 7332
FASZER Wayne 6573
FEARING Harold 7431
FISHER Chad 6280
FOGARTY Lisa 6577
FRANDSEN Carsten 6224
FRASER Alex 7328
FREKERS Dieter 6578
FUJIWARA Makoto 7585
GALLOP Mike 7324
GAPONENKO Andrei 6586
GARRETT Paul 6809
GASBARRI Bruno 6525
GELBART Anna 6210
GIAMMICHELLE Noemi 6810
GIFFIN Noel 7458
GILDERT Kristina 7373
GILL Dave 7541
GONCALVES Jessie 6373
GORELOV Alexander 6489
GORRINGE Tim 7387
GRAHAM Linda 6141
GRAY Daniel 6218
GREEN Dave 6551
GUO Bing 6811
HACKMAN Greg 7441
HADARI Ori 6449
HANLON Jim 7390
HANSEN Rob 6509
HAPKE Mindy 6372
HARMER Peter 7484
HARMER Sheila 7375
HELMER Richard 7404
HENDERSON Robert 7383
HILLAIRET Anthony 7573
HIRAIYAMA Yoshikazu 6550
HIRD Andrew 7463
HO Len 6507
HOLMBERG Corrie 6145
HOOFF Gerritt 7587
HOSSEIN Masrur 6195
HOSTA Frank 7328
HOWLAND Travis 6434
HOYLE Keith 6161
HUI Hubert 6540
HUSSEIN Ahmed 6542
HUTCHEON Dave 6474
HUYSE Mark 6578
INKSTER James 6544
INOUE Hiro 6216
IVES Joss 6271
IZUMI Hideaki 6492
JACKSON Peter 7465
JAMIESON Blair 6441
JANG Susan 7325
JENNINGS Byron 7428
JEWETT Cybele 6721
JOHNSON Dick 6492
JOHNSON John 6610
JONES Frederick 6310
KAEFER Juergen 6391
KALTCHEV Dobrin 7319
KAMINSKI John 7328
KANUNGO Ritu 7551
KATO Issei 6369
KE Zunjian 6157
KEELEY Bruce 6424
KEITEL Rolf 7453
KELLOGG Scott 6248
KELSEY David 7435
KHAN Naimat 7382
KIRCHNER Thomas 6806
KLASSEN Brandon 7416
KLUG Julius 6174
KOKKE Roland 6138
KORKMAZ Elie 6184
KORSOVETSKI Alexander 6278
KOSCIELNIAK Shane 7339
KOST Corrie 7365
KRAMPE Leo 6812
KREITZMAN Syd 7303
KRSMANOVIC Danka 7328
KURAMOTO Ron 6505
KURCHANINOV Leonid 6385
KWEI George 6495
LAM Harry 6453
LAMEY Thierry 7499
LANGTON Kevin 6440
LAPI Suzie 6548
LAPLANTE Robert 7478
LAXDAL Robert 7322
LEATHEM Brian 7437
LECESNE Nathalie 7386
LEE Larry 6208
LEPPANEN Leena 7444
LEROSS Mike 7366
LIAO Wei 6447
LITVINSKY Marc 6499
LOSTY Michael 6262
LOVERA M 6499
LU Joseph 6402
LUKE Graeme 7452
MacDONALD Rob 7549
MacFARLANE Andrew 6713
MacGREGOR Colin 6219
MacKENZIE George 7342
McDONALD Steve 7552
McKAY Jenny 7487
McKINNON John 6756
McLEAN Melva 7438
McPHERSON Rob 3219
MACHULE Peter 7384
MAHARAJ Rick 7499
MAKORTOFF Peter 7328
MAMMARELLA Franco 7412
MANNING Scott 6393
MARCHETTO Marco 7425
MARSHALL Cam 6352
MARSHALL Glen 7466
MATHARU Ames 6498
MEASDAY David 6494
MELCONIAN Dan 6486
MILDENBERGER Joseph 6482
MILLER Andy 7335
MILLER Roger 6162
MINATO Brian 6403
MISCHKE Dick 7573
MOL Bruce 5221
MORAVEJ Ameneh 7328
MORITZ Lutz 7372
MORRIS Gerald 7543
MORTON Colin 6825
MOSKVEN Tom 7462
MOUAT Michael 7402
MUNDAY Tony 7591
MUNDAY Richard 6499
NAGRA Dale 7328
NAKAMURA Satoshi 6453
NELSON Jack 6537
NG John 7432
NG Keith 7451
NOVY Jiri 6499
NOZAR Mina 7595
NUMAO Toshio 7345
NUSSBAUMER Rod 7449
OHLMANN Chris 6384
OLCHANSKI Konstantin 6597
OLIN Art 7349
OLIVO Miguel 7485
OPENSHAW Robert 6574
ORAM Christopher 7350
ORZECHOWSKI Joseph 7313
OSER Scott 6192
OTTEWELL Dave 6420
OWEN Chris 6850
PANG Florence 3207
PANKOVIC Milan 6499
PARIKH Anuj 7539
PAVAN Marcello 7525
PAYNE Chris 7554
PEARCE David 7356
PEARSON Chris 6522
PEARSON Matthew 7538
PEARSON Jonathan 6539
PECCHIA Marco 6499
PELZER Klara 6435
PIKE Susan 7393
PITCAIRN Rob 6805
POIRIER Roger 7406
POUTISSOU Renee 7457
PREDDY Doug 6399
PREZEAU Gary 6466
PRICE Astria 6199
PRIME Erika 6479
PRONK Melanie 6551
PROROK Artur 6215
PUBLICOVA Julia 6544
RABLAH Blake 6443
RAFIGHI Hossein 7553
RAIVICH Roman 7389
RAM Paras 6351
RATHOD Mahendra 6562
RAVURI Chakrawarthy 7486
RAWNSLEY William 7481
REEVE Shirley 7391
REINIGER Klaus 7411
RESSLER Jo 6493
RETIERE Fabrice 7572
RICHARDS Jane 6348
RIES Thomas 7488
ROBERTS William 6589
ROOT Laurence 7405
ROSENBAUM Gabe 6559
ROSNER David 6830
ROSS Barry 6274
ROSS David 6275
ROY Dalton 6344
ROZEN Yulia 6549
RUI Rinaldo 6232
RUPRECHT Goetz 7362
RUIZ Chris 6804
RUSSELL Mike 7328
RYJKOV Vladimir 7564
SAADAOUI Hassan 6194
SALMAN Zaher 6588
SAMARASEKERA Raso 7460
SAPRIKEN Steve 6257
SARGEANT Jason 6351
SAVAJOLS Herve 7409
SCHAAPMAN Jan 6571
SCHEEPMAKER Bob 7328
SCHENKEVELD Ted 7368
SCHMOR Paul 7415
SEGOVIA Ricardo 6499
SELIVANOV Vladimir 6198
SHARMA Hariprakash 6810
SHANKS Richard 6425
SHANKS Robert 7597
SHEEHAN Jacob 6182
SHEFFER Grant 6575
SHIBAOKA Naomi 6514
SHIN Bill 6475
SMITH Matthew 6593
STAN Corina 7582
STAN Vlada 6504
STANFORD Guy 7388
STANFORD Tim 6115
STEIN Wilfried 6499
STOTT John 6499
SUBRAMANIAN Mythili 6838
SUN Lu 6351
SUPANAM Nopmanee 6450
SYTCHOUGOVA Tatiana 6503
TACIK Roman 6233
TAFIROUT Reda 7579
TANGUAY John 6401
TANGUAY Justin 6499
TATEYAMA Tony 6519
TEODOROPOL Aurelia 7600
TERRY Wayne 6351
THOMPSON Larry 7517
THOMSON Jana 7427
THEUSSL Lukas 6446
TOROICHOV Vladimir 6198
TRIGGER Isabel 6303
TRINCZEK Mike 6875
TRITHARDT Kevin 6277
TRUDEL Anne 7370
TSUI Irene 7392
TURRELL Brian 7346
UDY Lorne 6287
UPPAL Jas 7328
VAZ Joseph 6389
VERMA Vijay 7326
VERZILOV Victor 6484
VINCENT John 7381
VOCKENHUBER Christof 6807
VOGT Erich 6455
VUCKOVIC Milan 7534
WADDINGTON Jim 7409
WAIT Gary 3211
WARAICH Bhalwinder 7550
WATERS Graham 6531
WATT Robert 7477
WELLBURN Bob 7583
WENDLAND Jeurgen 6191
WHITE Dave 6499
WICKEN Mike 7583
WILLIAMS Carol 7360
WILSON Alan 6135
WILSON Bev 7400
WOLOSHYN Richard 7430
WONG Neil 6345
WONG Dong 6196
WOOD Gord 7495
WOOD David 6499
WRIGHT Daniel 6265
WU Jackson 6445
YANDON Peter 7328
YAVIN Avivi 7560
YEE Chuck 6516
YEN Stanley 7414
YHAP Ivor 7445
YOGENDRAN Priscilla 6137
ZEISLER Stefan 7364
ZHENG Qiwen 7563
ZVYAGINTSEV Vladimir 7547

ואני רוצה בכל פעם לברור שם אחד ולהציג אותו,
איך עושים אתזה??
אשמח לתשובה כמה שיותר מהר, ותודה מראש!
_____________________________________
אל תדחו למחר מה שאפשר לדחות למחרתיים!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 09-12-2005, 15:41
  pipfreak pipfreak אינו מחובר  
 
חבר מתאריך: 18.11.05
הודעות: 23
אוקי, אז בפירוט מלא...
בתגובה להודעה מספר 2 שנכתבה על ידי scripter שמתחילה ב "..."

זאת התוכנה שלי:

קוד:
import javax.swing.*; import java.io.File; import java.io.FileNotFoundException; import java.util.Scanner; import javax.swing.JOptionPane; public class PhoneBook { public static void main(String[] args) { String fileName = ""; String name = ""; String phoneList = ""; boolean moreName = true; fileName = JOptionPane.showInputDialog ("Please enter your phone file name:"); if (fileName == null || fileName.equals ("")) { System.exit (0); } else { phoneList = readFile(fileName); } Scanner scan = new Scanner (phoneList); while(moreName) { name = JOptionPane.showInputDialog ("Please enter first name of the requested name"); if (name == null || name.equals ("")) { moreName = false; System.exit (0); } else { String phoneNum = scan.findInLine(phoneList); System.out.println(phoneNum); if (phoneNum == name) { System.out.println(phoneNum); } } } } /** * Reads in a complete file into a single string. * * @param fileName name of file to read. * @return a new String object containing the contents of the file */ private static String readFile (String fileName) { String text = null; try { // Create a new scanner with the file as its input stream. File file = new File (fileName); Scanner scan = new Scanner (file); // Use the begining of the file as a bogus delimiter, thus forcing // a single token to contain the complete file (since '\A' will // never be found). scan.useDelimiter ("\\A"); text = scan.next(); scan.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } return text; } }


היא כמובן עדין לא גמורה,
עכשיו בנוסף אליה יש קובץ TXT, שמכיל את הרשימה שצויינה למעלה, בדיוק כמו שהיא מופיעה,
אני רוצה לקלוט שם פרטי מהמשתמש ובכל פעם להציג את השם על המסך, אם יש יותר מתוצאה אחת בכל פעם שילחץ המקש OK תופיעה התוצאה הבאה.....
מקווה שהסברתי מספיק טוב =)

וכמו שבוודאי הבנתם זאת עבודה להגשה, אז אשמח לקבל תשובה בהקדם האפשרי!
תודה!
_____________________________________
אל תדחו למחר מה שאפשר לדחות למחרתיים!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 09-12-2005, 21:19
צלמית המשתמש של scripter
  scripter scripter אינו מחובר  
 
חבר מתאריך: 04.08.02
הודעות: 4,468
...
בתגובה להודעה מספר 3 שנכתבה על ידי pipfreak שמתחילה ב "אוקי, אז בפירוט מלא..."

אתה אמור לקבל שם פרטי? לדעתי אבדו את כל המטרה של התרגיל, הרי מה שממוין בקובץ הנ"ל הוא השם משפחה ולא שם פרטי.

1. פתח את הקובץ לקריאה
2. תשתמש ב-stream כלשהו ע"מ לקרוא ממנו (אולי BufferedReader).
3. קלוט שורה מן הקובץ והצב את השורה במחרוזת X
4. בצע split למחרוזת X, הפרד בעזרת תו רווח " ".
5. גש לאיבר השני של המערך (האיבר שמחזיק את השם הפרטי)
5.1 אם האיבר הנ"ל הינו מה שחפשת - תעשה מה שאתה רוצה איתו.. (אולי תרצה לשמור אותו בנפרד)
6. חזור לצעד 3 כל עוד לא הגענו לסוף הקובץ.

עכשיו, זה מאוד לא יעיל - אבל איך שהצגת את הבעיה, אני לא לגמרי הבנתי אותה.
לא הבנתי האם עליך לקרוא כל פעם מן הקובץ, או שעליך לשלוף את כל הנתונים מן הקובץ, לשמור אותם במבנה נתונים מסויים בזיכרון... (נשמע לי הרבה יותר מתאים? )

אהה כן, split / bufferedreader וכו' - כל זה תמצא בדוקומנטציה של ה-JDK...
בהצלחה.
_____________________________________
C pogrammers never die. They are just cast into void.


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 10-12-2005, 17:03
צלמית המשתמש של scripter
  scripter scripter אינו מחובר  
 
חבר מתאריך: 04.08.02
הודעות: 4,468
...
בתגובה להודעה מספר 6 שנכתבה על ידי pipfreak שמתחילה ב "נתקלתי בבעיה מסויימת..."

הסיבה היא שבעצם phoneList = מחרוזת ולא stream.
במקרה הזה לא תוכל להשתמש ב-BufferedReader - המלצתי על כך, כי חשבתי שאתה מעוניין לקרוא מתוך קובץ.. (מה שבעצם לא ממש עשית, אלא העתקת את כל התוכן של הקובץ למחרוזת).

אם כך, תצטרך להשתמש במה שהאובייקט StringBuffer מציע לך.
תוכל להשתמש ב-indexOf ע"מ לחפש תבנית בתוך המחרוזת (שם הפרטי?)

indexOf מופיע בשני צורות:
indexOf( String s )
indexOf( String s, int n )

זה יעזור לך לפתור את הבעיה - "האם קיים יותר מבנאדם אחד עם שם הפרטי X?"
בפעם הראשונה תפעיל את המטודה בצורה הראשונה (כלומר בלי הפרמטר השני)
ובפעם השניה( והאחרות...) תפעיל את המטודה בצורה השניה (הפרמטר השני בעצם מציין מאיפה להתחיל את החיפוש, מכאן ברור מאיליו שהפרמטר השני יהיה בעצם הערך המוחזר האחרון שקבלת מ-indexOf).

התהליך הזה יחזור על עצמו כל עוד הערך המוחזר של indexOf שונה מ-(-1) (או שתקבל exception כמובן).

יש אובייקט stream גם למחרוזות StringReader, אבל שוב, חבל להסתבך.
_____________________________________
C pogrammers never die. They are just cast into void.


תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 09-12-2005, 16:29
  pipfreak pipfreak אינו מחובר  
 
חבר מתאריך: 18.11.05
הודעות: 23
נ.ב., הערה נספחת לתרגיל:
בתגובה להודעה מספר 9 שנכתבה על ידי def11 שמתחילה ב "מכיוון שאני לא בטוח למה אתה מתכוון, יש 2 אופציות שאני רואה, לפי הבנתי,"

Working with Files and Strings



We provide you with a simple method that reads a complete file into a single String variable. You can the readFile() method to read your phones list file once in the beginning of the program, and then use that String variable throughout the program.

The Scanner class can also be useful in other places in this program: you can create a Scanner object which gets its input from a String, instead of from the keyboard, in a very similar manner. For example, assuming that phoneList is a variable of type String, you can use the following statement: Scanner scan = new Scanner (phoneList);This way, you can read lines from the phones list String variable one by one, or read tokens from some String representing a line. You may use several different Scanner objects for different tasks in your program.


אבל לא הצלחתי ליישם אתזה =\
_____________________________________
אל תדחו למחר מה שאפשר לדחות למחרתיים!

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 10:46

הדף נוצר ב 0.05 שניות עם 12 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2025 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר