حل تمرین های فصل پنجم کتاب برنامه نویسی جاوا جعفرنژاد قمی

با سلام خدمت همه 😊

حل تمرین های فصل پنجم کتاب برنامه نویسی جاوا از استاد قمی رو شروع میکنیم

این فصل با اینکه حجم صفحاتش نسبت به فصل های دیگه کم تره اما محتوای درونش زیاده و خیلی هم فرارّه

بیشتر جواب های این تمرینات تو جداولی هست که توش اجزای کلاس رو معرفی کرده

تمرین های فصل های قبل رو میتونید از لینک های زیر مطالعه کنید

حل تمرین های فصل چهارم کتاب برنامه نویسی جاوا جعفرنژاد قمی

حل تمرین های فصل سوم کتاب برنامه نویسی جاوا جعفرنژاد قمی

حل تمرین های فصل دوم کتاب برنامه نویسی جاوا جعفر نژاد قمی

بریم سراغ حل مسائل 💪😀

۱- یک پکیج بنویسید که شامل دو کلاس به شرح زیر باشد :

الف. کلاسی برای مدل سازی دانشجو

ب. کلاسی برای مدل سازی ساعت

نکته : در اینجا من اسم پکیج رو Solution5_1 گذاشتم

در کلاس اصلی

 
package solution5_1;
public class Solution5_1 {
 public static void main(String[] args) {
 Daneshjoo d = new Daneshjoo();
 d.Daryaft();
 Saat s = new Saat();
 s.Saat();
 }
}
 

در کلاس جدید Daneshjoo

 
package solution5_1;
import java.util.*;
public class Daneshjoo {
 Scanner in = new Scanner(System.in);
 private String name;
 private String family;
 private long shomare;
 public void Daryaft (){
 System.out.print("Nam Ra Vared Konid : ");
 name = in.next();
 System.out.print("Family Ra Vared Konid : ");
 family = in.next();
 System.out.print("Shomare Daneshjoei Ra Vared Konid : ");
 shomare = in.nextLong();
 Namayesh();
 }
 public void Namayesh(){
 System.out.println("****************************");
 System.out.printf("\nNam Daneshjoo : %s %s \nShomare Daneshjoei : %d \n",name,family,shomare);
 }
}
 

در کلاس جدید Saat

 
package solution5_1;
import java.util.*;
import java.text.*;
public class Saat {
 public void Saat(){
 Date now = new Date();
 DateFormat formatter = DateFormat.getTimeInstance();
 System.out.print("Saat Vorod : "+formatter.format(now));
 }
}
 

۲- برنامه ای بنویسید که هر یک از موارد زیر را انجام دهد :

  • ریشه دوم عدد ۳۰۰
  • سینوس و کسینوس زاویه ۱۰۰
  • چاپ عدد p با چهار رقم اعشار
  • ۴ به توان ۸
 
package solution5_2;
import java.math.*;
public class Solution5_2 {
 public static void main(String[] args) {
 System.out.println("Jazr 300 : "+Math.sqrt(300));
 System.out.println("Sinos 100 Darage : "+Math.sin(100));
 System.out.println("Cosinos 100 Darage :"+Math.cos(100));
 System.out.printf("Adad P: %.4f \n",Math.PI);
 System.out.println("4 Be Tavan 8: "+Math.pow(4, 8));
 }
}

۳- برنامه ای بنویسید که دو رشته را از ورودی خوانده یکی از آن ها را در دیگری جستجو کند و ….

نکته : شما اگر میخواید که تو این برنامه جستجو به حروف کوچک و بزرگ حساس بشه میتونید رشته هاتون رو به حروف کوچک تبدیل کنید (toLowecase) و سپس جستجو رو انجام بدید

 
package solution5_3;
import java.util.*;
import java.lang.*;
public class Solution5_3 {
 public static void main(String[] args) {
 Scanner in = new Scanner(System.in);
 String s1,s2;
 int i ;
 System.out.print("Jomle Aval Ra Vared Konid : ");
 s1 = in.nextLine();
 System.out.print("Jomle Dovom Ra Vared Konid : ");
 s2 = in.nextLine();
 i = s1.indexOf(s2);
 if (i==-1)
 System.out.println("Yaft Nashod");
 else
 System.out.println("Yaft shod");
 } 
}

۴- برنامه ای بنوسید که یک مقدار رشته ای را از ورودی خوانده پس از تبدیل به یک مقدار عددی ، آن را در خروجی ….

 
package solution5_4;
import java.util.*;
public class Solution5_4 {
 public static void main(String[] args) {
 Scanner in = new Scanner (System.in);
 String s;int n;
 System.out.print("Reshte Ra Vared Konid : ");
 s = in.next();
 Integer num = new Integer(Integer.parseInt(s));
 System.out.printf("Reshte Tabdili Be Adad : %d \n",num);
 System.out.print("Adad Ra Vared Konid : ");
 n = in.nextInt();
 Integer num2 = new Integer(Integer.toString(n));
 System.out.printf("Adad Tabdili Be Reshte : %d \n",num2);
 }
}

۵- برنامه ای بنویسید که زمان و تاریخ فعلی سیستم را چاپ کند.

 package solution5_5;
import java.util.*;
import java.lang.*;
import java.text.DateFormat;
public class Solution5_5 {
 public static void main(String[] args) {
 Date now = new Date();
 DateFormat f1 = DateFormat.getDateInstance(DateFormat.LONG);
 DateFormat f2 = DateFormat.getTimeInstance(DateFormat.LONG);
 System.out.println("Tarikh System : "+f1.format(now));
 System.out.println("Saat System : "+f2.format(now));
 } 
} 

۶- برنامه ای بنوسید که یک رشته و دو عدد n1 و n2 را از ورودی بخواند و به متدی ارسال کند . آن متد ، زیر رشته ای را …

 
package solution5_6;
import java.lang.*;
import java.util.*;
public class Solution5_6 {
 public static void main(String[] args) {
 Scanner in = new Scanner(System.in);
 String s,m;
 int n1,n2;
 System.out.print("Reshte Ra Vared Konid : ");
 s = in.nextLine();
 System.out.print("Adad Aval Va Dovom Ra Vared Konid : ");
 n1 = in.nextInt();
 n2=in.nextInt();
 m = Amaliat(s,n1,n2);
 System.out.printf("Reshte Joda Shode : %s \n",m);
 }
 public static String Amaliat(String s , int n1 , int n2){
 return s.substring(n1,n2);
 }
}
 

۷- برنامه ای بنوسید که دو رشته را از ورودی خوانده ، محتویات آن دو رشته را با یکدیگر عوض کند.

 
package solution5_7;
import java.util.*;
public class Solution5_7 {
 public static void main(String[] args) {
 Scanner in = new Scanner(System.in);
 String s1,s2,temp;
 System.out.print("Reshte Aval : ");
 s1 = in.next();
 System.out.print("Reshte Dovom : ");
 s2 = in.next();
 temp = s1;
 s1 = s2;
 s2 = temp ; 
 System.out.println("Reshte Aval : "+s1+"\nReshte Dovom : "+s2);
 } 
}
 

۸- برنامه ای بنوسید که رشته ای را ورودی خوانده ، این متد ، حروف کوچک آن رشته را به حروف بزرگ تبدیل کند و برنامه اصلی آن را به خروجی ببرد.

package solution5_8;
import java.util.*;
import java.lang.*;
public class Solution5_8 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s, m;
System.out.print("Jomle Ra Vared Konid : ");
s = in.nextLine();
m = Amaliat(s);
System.out.printf("Jomle Ba Horof Bozorg : %s \n",m);
}

public static String Amaliat(String s) {
return s.toUpperCase();
}
}

۹- برنامه ای بنوسید که معدل دانشجویان کلاسی را خوانده میانگین معدل دانشجویان کلاس را محاسبه کرده با دو رقم اعشار به خروجی ببرد.

نکته : این مثال رو هم میتونید تعداد معدل رو از کاربر نگیرید و با یه حلقه بی نهایت از کاربر نمره بگیرید و بگید ادامه میدید یا نه ؟ اون روش رو تو فصل های قبلی خیلی استفاده کردم ، این روش چون آسونتره کم تر استفاده میکنم اما اینجا یبار استفاده کردم که طرز کدنویسی شو بدونید

 package solution5__9;
import java.util.*;
public class Solution5__9 {
 public static void main(String[] args) {
 Scanner in = new Scanner (System.in);
 float nomre,n,jame=0,moadel;
 System.out.print("Tedad Moadel Ra Vared Konid : ");
 n = in.nextFloat();
 for (int i = 0;i<n;i++){
 System.out.printf("Moadel [%d] Ra Vared Konid : ",i+1);
 nomre = in.nextFloat();
 jame+=nomre;
 }
 moadel = jame/n;
 System.out.printf("Moadel Miangin Class = %.2f \n",moadel);
 }
} 

۱۰- برنامه ای بنوسید که رشته ای از ورودی خوانده آن رو به طور معکوس به خروجی ببرد.

نکته : من تو این مسئله از کلاس StringBuffer استفاده کردم اما تو این کتاب متاسفانه نحوه دریافت رشته از این نوع کلاس رو نگفته ، من دو تا راه حل برای این مسئله گذاشتم اولین برای دریافت رشته از نوع استرینگ بافر دومی از نوع دریافت رشته از نوع معمولی

راه حل اول

 package solution5_10;
import java.util.*;
import java.lang.*;
public class Solution5_10 {
 public static void main(String[] args) {
 Scanner in = new Scanner (System.in);
 StringBuffer s = new StringBuffer();
 StringBuffer makos = new StringBuffer();
 System.out.print("Reshte Ra Vared Konid : ");
 s.append(in.nextLine());
 makos = s.reverse();
 System.out.println("Reshte Makos Shode : " + makos);
 
}
} 

راه حل دوم

package solution5_10;
import java.util.*;
import java.lang.*;
public class Solution5_10 {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String str;
System.out.print("Enter a string : ");
str = in.next();
StringBuffer s = new StringBuffer(str);
System.out.print("String befor reverse : " + str);
System.out.print("\nString after reverse : " + s.reverse());
}
}

۱۱- برنامه ای بنوسید که یک عبارت محاسباتی را که شامل عمگر ها و عملوندها است ، از ورودی خوانده در رشته ای قرار دهد ….

نکته : من در این مسئله به اختیار خودم یه رشته دیگه درست کردم تو اون حروف اضافه وارد شده به غیر از عملگر و عملوند اضافه میشه شما میتونید اینکارو انجام ندید اما برای کارایی بیشتر برنامه اینکارو انجام دادم .

 package solution5_11;
import java.util.*;
import java.lang.*;
public class Solution5_11 {
 public static void main(String[] args) {
 Scanner in = new Scanner (System.in);
 StringBuffer s = new StringBuffer();
 StringBuffer amalvand = new StringBuffer();
 StringBuffer amalgar = new StringBuffer();
 StringBuffer horof = new StringBuffer();// دستورالعمل اضافی برای حروف اضافه وارد شده در رشته
 System.out.print("Reshte Ra Vared Konid : ");
 s.append(in.next());
 for (int i=0;i<s.length();i++){
 if(s.charAt(i)=='+'||s.charAt(i)=='-'||s.charAt(i)=='*'||s.charAt(i)=='/')
 amalgar.append(s.charAt(i));
 else if (s.charAt(i)>='0'&&s.charAt(i)<='9')
 amalvand.append(s.charAt(i));
 else
 horof.append(s.charAt(i));
 }
 System.out.println("Amalgarha :"+amalgar);
 System.out.println("Amalvand Ha :"+amalvand);
 System.out.println("Horof Ezafe :"+horof);
}}} 

۱۲- برنامه ای بنویسید که رشته ای را از ورودی خوانده ، مجموع ارقام موجود در آن رشته را محاسبه کند و به خروجی ببرد.

 package solution5_12;
import java.util.*;
import java.lang.*;
public class Solution5_12 {
 public static void main(String[] args) {
 int sum=0;
 Scanner in = new Scanner(System.in);
 Integer n=0;
 StringBuffer r = new StringBuffer();
 StringBuffer t = new StringBuffer();
 System.out.print("Reshte Ra Vared Konid : ");
 r.append(in.nextLine());
 for (int i=0;i<r.length();i++){
 t = new StringBuffer("");
 if (r.charAt(i)>='0'&&r.charAt(i)<='9'){
 t.append(r.charAt(i));
 n = new Integer(t.toString());
 sum = sum+n;
 } 
 }
 System.out.println("Natije : "+sum); 
 }
} 

۱۳-برنامه ای بنویسید که رشته ای را از ورودی خوانده مشخص کند که اگر از هر دو طرف خوانده شود یکسان است یا خیر. مثل beeb که از هر دو طرف یکسان است.

 package solution5_13;
import java.util.*;
public class Solution5_13 {
 public static void main(String[] args) {
 Scanner in = new Scanner(System.in);
 String s,s2;
 System.out.print("Reshte Ra Vared Konid : ");
 s = in.next();
 StringBuffer m1 = new StringBuffer(s);
 m1 =m1.reverse();
 s2 = m1.toString();
 if (s.compareTo(s2)==0)
 System.out.println("Yeksan Ast.");
 else
 System.out.println("Yeksan Nist");
 }
}

بالاخره تمرینای این فصل هم تموم شد 😍😊💪 امیدوارم که براتون مفید باشه

همونطور که از قبل هم گفتم تونستیم فصل به فصل میریم جلو و تمرینات رو قرار میدیم .

خسته نباشید😍💕💗

جوابی بنویسید:

آدرس ایمیل شما به صورت عمومی منتشر نخواهد شد.

اسلایدر سایدبار

درباره من

درباره من

من رضا قاسم زاده هستم ، 20 سال سن دارم . در حال حاضر مشغول گذراندن دوره کارشناسی مهندسی نرم افزار از دانشگاه شمال آمل هستم و از سال 89 در زمینه طراحی و برنامه نویسی وب فعالیت می کنم. بیشتر مطالعه ام این روزا به دلیل علاقه ام به استارتاپ ها تو این زمینه انجام میشه و سعی میکنم مطالعات زیادی رو تو حوزه کسب و کارهای نوپا داشته باشم در کنار رشته تحصیلیم به نوازندگی سنتور ، گوش دادن موسیقی و تماشای فیلم نیز مشغول هستم

شبکه های اجتماعی