ABA


"|עזרה| JAVA"
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #15515 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 15515
Champion

   23:47   29.10.09   
אל הפורום  
  |עזרה| JAVA  
 
   אני צריך לעשות תוכנית שתבקש מהמשתמש את השם פרטי ושם משפחה שלו ולאחר מכן תהפוך את האות הראשונה של השם פרטי והאות הראשונה של השם משפחה לאות גדולה...
איך אני עושה את זה???
אני לא יודע באיזה פקודות להשתמש:(

תודה על העזרה...


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  חיפוש מהיר בגוגל ronen333  30.10.09 00:04 1
     אוקיי רשמתי ככה ואין לי מושג למה זה לא פועל לי Champion 30.10.09 00:15 2
         מכתב ronen333  30.10.09 00:35 3
             מה שאתה אומר הגיוני מאוד אחי אבל Champion 30.10.09 08:40 4
  ?? Champion 30.10.09 20:15 5
  זאת לא משימה כזאת פשוטה. Deuce  30.10.09 20:35 6
     הצעת פתרון אפשרית, Deuce  30.10.09 20:44 7
         באמת שתודה רבה Champion 30.10.09 20:50 8
             זאת משימה שנתנו לך או שאתה חשבת עליה לבד? Deuce  30.10.09 20:55 9
                 יצירתי גם יצירתי :) Champion 30.10.09 22:24 10
                     אני מציע לך דבר כזה, Deuce  31.10.09 05:11 11
                         הוא יכול גם להשתמש בSPLIT ronen333  31.10.09 11:26 12
                             נכון אבל הוא צריך להגדיר פרמטר לפיו לעשות split. Deuce  31.10.09 16:36 13
                                 אחי Champion 31.10.09 20:32 14
                                     כן, להפוך את כל המילה זה הרבה יותר פשוט. Deuce  01.11.09 00:09 17
                                 הוא לא יכול לעשות פשוט את התו רווח '' '' ? ronen333  31.10.09 21:47 15
                                     יכול - זאת אפשרות. Deuce  01.11.09 00:09 16

       
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   00:04   30.10.09   
אל הפורום  
  1. חיפוש מהיר בגוגל  
בתגובה להודעה מספר 0
 
   http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Character.html#toUpperCase(char)


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Champion

   00:15   30.10.09   
אל הפורום  
  2. אוקיי רשמתי ככה ואין לי מושג למה זה לא פועל לי  
בתגובה להודעה מספר 1
 
   import java.util.Scanner;
public class UpperCaseInitials {

public static void main(String args) {
String name;
Scanner scan= new Scanner(System.in);
System.out.print("Enter a name ");
name= scan.nextLine();
"name".toUpperCase();
System.out.print(name);
name.isUpperCase(name.toUpperCase(name));



}
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   00:35   30.10.09   
אל הפורום  
  3. מכתב  
בתגובה להודעה מספר 2
 
   ערכתי לאחרונה בתאריך 30.10.09 בשעה 00:41 בברכה, ronen333
 
import java.util.Scanner;
public class UpperCaseInitials {

public static void main(String[] args) {
String name;
Scanner scan= new Scanner(System.in);
System.out.print("Enter a name ");
name= scan.nextLine();
"name".toUpperCase();
System.out.print(name);
name.isUpperCase(name.toUpperCase(name));



}
}
ציטוט מאת: Champion


אני לא מתכנת גאווה אבל קל לראות שעשית שימוש לא נכון בפונקציה.
תקרא מה רשום-
הפונקציה מקבלת תו ומחזירה את התו כאות גדולה.
מה גם שהשתמשת בפונקציה הלא נכונה, למרות שהבאתי לך קישור לעוגן :|
ISUPPTERCASE בודק אם האות אכן גדולה (ומחזירה ערך בוליאני), אתה צריך להמיר אז אתה צריך להמשתמש בtoUpperCase.

אז מה שאתה צריך לרשום במקום
name.isUpperCase(name.toUpperCase(name));
זה את זה:
name[0]=Char.toUpperCase(name[0]);

עוד דבר-אתה מדפיס לפני שאתה מבצע את השינוי, איך אתה מצפה לראות את השינוי על המסך?

בקיצור הקוד שלך אמור להיות ככה:


public static void main(String[] args) {
String name;
Scanner scan= new Scanner(System.in);
System.out.print("Enter a name ");
name= scan.nextLine();
name[0]=Char.toUpperCase(name[0]);

System.out.print(name);
}

שוב, אני לא מתכנת גאווה אז אני לא יכול להבטיח לך שמה שרשמת הוא נכון ב100 אחוז, רק סידרתי את ההוראות בצורה הגיונית ושינתי את שם הפונקציה לשם המתאים.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Champion

   08:40   30.10.09   
אל הפורום  
  4. מה שאתה אומר הגיוני מאוד אחי אבל  
בתגובה להודעה מספר 3
 
   עדיין הקוד לא נכון :\


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Champion

   20:15   30.10.09   
אל הפורום  
  5. ??  
בתגובה להודעה מספר 0
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   20:35   30.10.09   
אל הפורום  
  6. זאת לא משימה כזאת פשוטה.  
בתגובה להודעה מספר 0
 
אתה מצפה שתכניס לפונקציית קסם מחרוזת והיא תדע מה האות הראשונה של השם הפרטי והשם משפחה? יש הרבה פתרונות יצירתיים אבל אני בספק כמה אתה מומחה בשפה. אתה יכול לשנות את האות הראשונה לאות גדולה בהנחה שהשם הפרטי מתחיל באות הראשונה, לחפש רווח (בעזרת לולאה) ולאחר שתפסת את הרווח, בהנחה ששם יהיה שם המשפחה לשנות את האות הראשונה לאות גדולה.

אני אכתוב לך קוד.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   20:44   30.10.09   
אל הפורום  
  7. הצעת פתרון אפשרית,  
בתגובה להודעה מספר 6
 
אבל זה לא כזה פשוט אם אתה מתחיל.

Scanner scan = new Scanner(System.in);
String name;
String nameAfterEdit = "";
name = scan.nextLine();
nameAfterEdit += Character.toUpperCase(name.charAt(0));
boolean tab = false;
for (int i = 1; i < name.length(); ++i)
{
char c = name.charAt(i);
if (tab == true)
nameAfterEdit += Character.toUpperCase(name.charAt(i));
else
nameAfterEdit += name.charAt(i);

if (Character.isWhitespace(c))
tab = true;
else tab = false;
}
System.out.println(nameAfterEdit);

הרעיון הוא לשרשר תו תו לתוך מחרוזת חדשה.
במידה ומצאתי רווח, אז אני שומר במשתנה בוליאני שבאיטרציה הקודמת מצאתי רווח ולכן באיטרציה הבאה אני אוסיף את התו אבל באות גדולה.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Champion

   20:50   30.10.09   
אל הפורום  
  8. באמת שתודה רבה  
בתגובה להודעה מספר 7
 
   אבל למדתי שליש ממה שיש בקוד הזה לצערי אני אצטרך לחפש דרך פשוטה יותר
אבל באמת שתודה בכל מקרה


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   20:55   30.10.09   
אל הפורום  
  9. זאת משימה שנתנו לך או שאתה חשבת עליה לבד?  
בתגובה להודעה מספר 8
 
יש לך אפשרות להמיר את זה למערך תווים. בקלות אתה הופך את כל המילה לאותיות גדולות אבל אות ספציפית זה דורש קצת ידע - או שאני לא מספיק יצירתי היום :P






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Champion

   22:24   30.10.09   
אל הפורום  
  10. יצירתי גם יצירתי :)  
בתגובה להודעה מספר 9
 
   תאמת שזאת משימה שנתנו לי ורוצים שאני אשתמש
באינדקסים של תווים וכאלה :\


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   05:11   31.10.09   
אל הפורום  
  11. אני מציע לך דבר כזה,  
בתגובה להודעה מספר 10
 
תקלוט בנפרד שם פרטי ושם משפחה.
את התו במקום הראשון אתה מקבל על ידי charAt(0) ונסה לשנות אותו לאות גדולה. תוכל למשל להפוך את המחרוזת למערך של תווים ואז להפעיל את הפקודה Character.toUpperCase(c) על התו שלך - זה מחזיר את התו אבל באות גדולה. מכיוון שזה תו אתה צריך להשתמש בפונקציית Character.

ואז תנסה לשרשר.
הפונקציה שלי פשוט קולטת פעם אחת שם וממש מחפשת רווחים - זה קצת יותר מסובך.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   11:26   31.10.09   
אל הפורום  
  12. הוא יכול גם להשתמש בSPLIT  
בתגובה להודעה מספר 11
 
   ואז לעבוד כאילו היה לו 2 מערכים.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   16:36   31.10.09   
אל הפורום  
  13. נכון אבל הוא צריך להגדיר פרמטר לפיו לעשות split.  
בתגובה להודעה מספר 12
 
ואז מה הוא יבחר? הוא צריך לדעת איך נראה character של whiteSpace, במקרה של java הבחירה ב-'/t' תהיה לא נכונה.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Champion

   20:32   31.10.09   
אל הפורום  
  14. אחי  
בתגובה להודעה מספר 13
 
   אחי הצלחתי לעשות תוכנית שאתה רושם את השם שלך וזה מעלה הכל לאותיות גדולות אני לא מצליח לעשות את זה מיקום ספציפי אבל :(


import java.util.Scanner;

public class UpperCaseInitials {
public static void main(String args) {

String message;
Scanner scan= new Scanner(System.in);
System.out.println("Enter a name");
message = scan.nextLine();
int SpaceIndex= message.indexOf(" ");
String upper = message.toUpperCase();
System.out.println(upper);


}
}


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   00:09   01.11.09   
אל הפורום  
  17. כן, להפוך את כל המילה זה הרבה יותר פשוט.  
בתגובה להודעה מספר 14
 
אבל להפוך תו בודד זה מסובך יותר, אין מה לעשות - תצטרך לחלק את זה למערך של תווים או לרוץ על תווים ולהשתמש בפונקציות על Character.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
ronen333 
חבר מתאריך 20.2.03
6069 הודעות
   21:47   31.10.09   
אל הפורום  
  15. הוא לא יכול לעשות פשוט את התו רווח '' '' ?  
בתגובה להודעה מספר 13
 
   בC אתה יכול... אז אם בגאווה אתה לא יכול זה דפוק :|


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
Deuce 
חבר מתאריך 1.9.08
6225 הודעות
   00:09   01.11.09   
אל הפורום  
  16. יכול - זאת אפשרות.  
בתגובה להודעה מספר 15
 
אפשר גם עם ה-Scanner להמיר ל-2 מחרוזות.






                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net