وبلاگ سید جلال سیدیزدی

تمرین هفتم

پنجشنبه, ۲۲ آبان ۱۳۹۳، ۰۹:۱۶ ق.ظ

با سلام

در این تمرین با چگونگی استفاده از داکیومنت جاوا و نیز کلاس String بیشتر آشنا می شوید.
هدف نوشتن کلاسی است که متدهای زیر را داشته باشد:

الف) رشته ای دریافت کرده و تعیین کند آیا با کاراکتر عددی شروع شده است یا نه.
ب) رشته ای دریافت کرده و تعیین کند آیا به کاراکتر عددی ختم شده است یا نه.
ج) رشته ای دریافت کرده و تعیین کند آیا  دارای کاراکتر عددی است یا نه.
د) رشته ای دریافت کرده و محل کاراکتر های عددی را در صورت وجود چاپ کند.
ه) رشته ای دریافت کرده و حروف بزرگ آن را به حروف کوچک تبدیل کند.
و) رشته ای دریافت کرده و حروف کوچک آن را به حروف بزرگ تبدیل کند.
ز) رشته ای دریافت کرده و حروف بزرگ آن را به حروف کوچک و حروف کوچک آن را به حروف بزرگ تبدیل کند.
ح) رشته ای دریافت کرده و تعداد کلمات آن را چاپ کند.
ط) رشته ای دریافت کرده و کلمات آن را از آخر به اول چاپ کند. به مثال زیر توجه کنید.
"I like Java"  ==>   "Java like I"
* برای قسمت ح و ط فرض کنید که بین کلمات Space قرار دارد.
* برای انجام این تمرین حتما متدهای کلاس String را در داکیومنت جاوا مطالعه نمایید.

همچنین نظرات لینک زیر را نیز مطالعه نمایید.
http://seyyedyazdi.blog.ir/1393/01/08/ex11

مهلت تحویل: جمعه 23 آبان ساعت 20 شنبه 24 آبان ساعت 20
با تاخیر: شنبه 24 آبان ساعت 20 یکشنبه 25 آبان ساعت 10

موفق باشید.
  • ۹۳/۰۸/۲۲

نظرات  (۶)

  • حمید پهلوانی
  • سلام استاد خسته نباشید
    میشه بگید برا قسمت (ز) از کدوم متد باید استفاده کنیم.
    خیلی ممنون
    پاسخ:
    سلام ممنون
    یه راه اینه که اول به آرایه ای از کاراکترها تبدیلش کنید. بعد هر کاراکتر رو تغییر دهید و سپس آرایه رو به رشته تبدیل کنید.
    موفق باشید.
    سلام استاد.
    توی نت بینز برای استفاده از متدها به صورت زنجیره ای به مشکل برخوردم.مثلا اگه از ()Startwiths استفاده کنم بعد از این متد اجازه استفاده از هیج متد دیگری را نمیدهد.مشکل از کجاست استاد؟ (کلا همه متدها به همین صورت ارور میدن!!)
    پاسخ:
    سلام
    حق داره خطا بده!
    باید به نوع برگشتی متد دقت کنید.
    متد startsWith مقداری boolean برمی گرداند که primitive است و هیچ متدی روی آن قابل اجرا نیست.
    موفق باشید.
    استاد هیج کدوم از متدهای string کارهایی که خواستید و انجام نمیدن که.... 
    من تک تک متدها رو خوندم و تو bluej تست کردم ولی هیچ متد (یا حتی زنجیزه ای از متدها) جواب تمرینها نبود :(
    میشه بیشتر راهنمایی کنید؟؟
    پاسخ:
    سلام
    اگر قرار بود برای هر کاری متدی باشد که بینهایت متد باید می داشت.
    از متدها استفاده کنید.
    مثلاً می خواهید ببینید آیا با کاراکتر عددی شروع شده یا نه از متد startsWith استفاده کنید.
    ولی اینکه چگونه استفاده کنید جزء تمرین است.
    موفق باشید.
    سلام استاد
    برای متد (ح) ما باید در نظر بگیریم که کاربر بین هر کلمه حتما یک space میزاره یا نه ؟
    چون اگه بین کلمات بیش از یک space وجود داشته باشه باید متد رو طور دیگه ای بنویسیم .
    پاسخ:
    سلام
    نه. ممکنه چند تا space بین کلمات وجود داشته باشد.
    موفق باشید.
  • حمید پهلوانی
  • سلام استاد خسته نباشید
    دو تا سوال داشتم
    اول اینکه واسه هر متد باید یه String بگیریم (یعنی تو قسمت پارامترش) یا اولش یه String بگیریم بعد متدارو روش اجرا کنیم؟

    سوال بعدیم اینه که فرغ ASCII Code با Unicode code چیه؟
    پاسخ:
    سلام ممنون
    بله. هر متد یک پارامتر String دارد.

    کد اسکی یک بایتی است ولی یونی کد ۲ بایتی است. در جاوا به دلیل استفاده از یونی کد کاراکترها ۲ بایت فضا اشغال می کنند.
    موفق باشید.
    سلام استاد
    ببخشید برای گرفتن string از کاربر چه کار باید کرد؟؟
    چون داخل .next هایی که مربوط به گرفتن ورودی از کاربره چیزی برای رشته نبود!!
    تو اینترنت هم که سرچ کردم از try و catch استفاده کرده بود.میشه سه توضیح بدید؟؟
    پاسخ:

    سلام

    به کد زیر توجه کنید.

    Scanner input = new Scanner(System.in);
    String s = input.nextLine();
    System.out.println(s);

    موفق باشید.

    ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
    شما میتوانید از این تگهای html استفاده کنید:
    <b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
    تجدید کد امنیتی