Learn Java
304 subscribers
92 photos
1 video
94 files
84 links
یاد گیری زبان برنامه نویسی جاوا و نکات و مفاهیم
کاربردی ان



@parsa8113
@bardiademon
Download Telegram
چگونه در جاوا کاراکتر تصادفی بین کاراکترهای a تا z تولید کنیم؟

پاسخ:

package start1397;

import java.util.Random;

public class Test4 {
public static void main(String[] args) {
Random rnd = new Random();
char c = (char) (rnd.nextInt(26) + 'a');
System.out.println(c);
}
}

با تست برنامه بالا هر بار برای شما یک کاراکتر انگلیسی تصادفی تولید می شود، برای مثال بعد اجرای کد جاوای بالا کاراکتر زیر به صورت تصادفی تولید شده است:

Output:
i


@this_java
پاک کردن عناصر درون HashSet :
void clear
برای پاک کردن تمامی عناصر HashSet استفاده میشود


public class Connect
{
public static void main (String[] args)
{
HashSet<String> ssm = new HashSet<String😠);
ssm.add("PArss");
System.out.println("Befor Clear : "+ssm);
ssm.clear();
System.out.println("After Clear : "+ssm);
}


}

Out Put:
Befor Clear : [PArss]
After Clear : []

@this_java
چک کردن موجود بودن یک عنصر در HashSet

boolean contains(object)
اگر عنصر وجود داشت مقدار true را بر میگرداند
در غیر این صورت مقدار برگشتی false خواهد بود
به مثال زیر توجه کنید :

public class Connect
{
public static void main (String[] args)
{
HashSet<String> ssm = new HashSet<String😠);
ssm.add("PArss");
ssm.contains("parsa");

System.out.println(ssm);

System.out.println(ssm.contains("parsa"));
}


}


OUTPUT :

[PArss]
false

@this_java
craps.java
1.4 KB
مبحث اموزشی : بازی شانس ; معرفی enum

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

@this_java
محاسبه ی فاکتوریل در جاوا :

import java.util.Scanner;

public class Factorial {

public static void main(String[] args) {
int n, fact = 1;
Scanner input = new Scanner(System.in);
System.out.println("Enter Number Of N:");
n = input.nextInt();

for (int i = 1; i <= n; i++) {
fact = fact * i;
}
System.out.println("Factorial(" + " " + n + " ) " + "is " + fact);

}

}
محاسبه ی فاکتوریل در جاوا : با استثنای فاکتوریل منفی

public class Factorial {
public static void main(String[] args) {
int i;
Scanner in = new Scanner(System.in);
System.out.println("Please Enter N : ");
i = in.nextInt();
Factorial m = new Factorial();
if(i <0) {

System.out.println("na");
} else if (i == 0){
System.out.println("1");
} else {
m.Fact(i);
}

}
public void Fact(int i) {
int b = 1;
for (int ms = 1; ms<=i; ms++)
b = b *ms;
System.out.println(b);
}
}
بدست اوردن عناصر ارایه به همراه شماره ی خونه ی قرار گیری انها:


package learn;


/
*
*
@author Parsa
*/
public class Learn {

/
* @param args the command line arguments
*/
public static void main(String[] args) {

final int Array_SIZE= 10;
int[] Array = new int[Array_SIZE];
for(int i = 0; i< Array.length; i++)
Array[i] = 2+2 *i;

System.out.println("Index"+"\t"+"Value");
for(int i= 0; i<Array.length; i++)
System.out.println(i+"\t" +Array[i]);


}

}


خروجی :

Index Value
0 2
1 4
2 6
3 8
4 10
5 12
6 14
7 16
8 18
9 20
نمایش گرافیکی داده های ارایه با نمودار میله ای :

package learn;


/
*
*
@author Parsa
*/
public class Learn {

/
* @param args the command line arguments
*/
public static void main(String[] args) {
int Array[] = {0,0,0,0,0,1,3,5,6,1,10};
System.out.println("Grade Distribution : ");
for(int counter = 0; counter< Array.length; counter ++) {


if(counter == 10)
System.out.printf("%5d: ",100);
else
System.out.printf("%02d-%02d: ", counter *10, counter *10+9);

for(int stars =0; stars<Array[counter]; stars++)
System.out.print("*");

System.out.println();

}
}

}
خروجی :
00-09:
10-19:
20-29:
30-39:
40-49:
50-59: *
60-69: ***
70-79: *****
80-89: ******
90-99: *
100: **********
@this_java
استفاده از عناصر ارایه بعنوان شمارنده :


public class Learn {

public static void main(String[] args) {
Random is = new Random();
int[] fer = new int[7];

for (int i = 1; i <= 6000000; i++) {
++fer[1 + is.nextInt(6)];
}
System.out.println("Face" + "\t" + "Ferquency[face]");

for (int face = 1; face < fer.length; face++) {
System.out.println(face + "\t" + fer[face]);
}
}

}
استفاده از ارایه ها برای تحلیل نتایج:

به مثال زیر توجه کنید :

از بیست دانشجو در مورد کیفیت غذای عرضه شده در رستوران دانشگاه سوال شده و پاسخ دانشجویان میتواند در محدوده ی 1 تا 10 قرار داشته باشد. به اینصورت که 1 نشانده ی کیفیت پایین و ده کیفیت بالاست... پاسخ دانشجویان را در یک ارایه قرار داده و میزان و تعداد پاسخ های همسان را مشخص سازرید

راه حل:

public class Learn {

public static void main(String[] args) {
int[] i = {1,2,5,4,3,5,2,1,3,3,1,4,3,3,3,2,3,3,2,14};
int[] ferquency = new int [6];

for(int answer = 0; answer<i.length;answer++) {

try{
++ferquency[i[answer]];
} catch (ArrayIndexOutOfBoundsException e) {
System.err.println(e);
System.out.printf("Responses [%d]= %d%n%n",answer,i[answer]);
}
}
System.out.println("Rating"+"\t"+"Ferquency");

for(int rating = 1; rating<ferquency.length;rating++) {

System.out.println(rating+"\t"+ferquency[rating]);
}
}

}


خروجی :


java.lang.ArrayIndexOutOfBoundsException: 14
Responses [19]= 14

Rating Ferquency
1 3
2 4
3 8
4 2
5 2

@this_java
چاپ تمامی عناصر ارایه ی دو بعدی:

package learn;

public class Learn {

public static void main(String[] args) {
//row equals sart
//columns means soton
int[][] Array = {{2, 2, 3, 4}, {3, 4, 2, 1}};

int[][] parsa = {{1, 2}, {3}, {4, 5, 6}};
System.out.println("Array: ");
output(Array);

System.out.println("Parsa: ");
output(parsa);
}

static void output(int[][] k) {

for (int counrer = 0; counrer < k.length; counrer++) {
for (int c = 0; c < k[counrer].length; c++) {

System.out.println(k[counrer][c]);
}

}
}
}


@this_java
مثال کاربردی از متد split() در جاوا
مثال جاری تمامی کلمات موجود در آبجکت s1 را که بر اساس فاصله (space) از هم جدا شده اند، برمی گرداند.

public class SplitExample{
public static void main(String args[]){
String s1="java string split method by javatpoint";
String[] words=s1.split("\\s");//splits the string based on whitespace
//using java foreach loop to print elements of string array
for(String w:words){
System.out.println(w);
}
}}
خروجی:
java
string
split
method
by
javatpoint

@this_java
متد های get و set در مقابل داده public

بنظر میرسد که تدارک دیدن قابلیت های set و get به میزان ایجاد متغیر های نمونه ی پابلیک از اهمیت برخوردار است. این قابلیت یکی از نکات جالب توجه زبان جاوا در زمینه ی مهندسی هنرم افزار است...یک متغیر نمونه public میتواند توسط هر متدی که دارای یک مراجعه به یک شی است که حاوی متغیر نمونه باشد , خوانده یا نوشته شود...اگر متغیر بصورت privatrr اعلان شده باشد یک متد public get بطور مشخص به سایر متد ها اجازه ی دسترسی به متغیر را میدهد , اما متد get تنها میتواند در نحوه ی دسترسی کلاینت به متغیر کنترل داشته باشید..
برای مثال امکان دارد یک متد get بر فرمت برگشتی کنترل داشته باشد از اینرو همانند یک حفاظ در مقابل کد کلاینت در دسترسی به داده واقعی عمل میکند.
یک متد public set میتواند و باید به دقت مبادرت به تغییر مقدار متغیر کند تا مطمعن گردد مقدار جدید برای ان ایتم مناسب است..

برای مثال اقدام به set روز ماه 37 پذیرفته نیست.. یا تنظیم وزن یک نفر به مقدار منفی و الی اخر.. بنابراین اگرچه متد های set و get دسترسی به داده های private را فراهم می اورند ... اما این دسترسی توسط برنامه نویس به هنگام پیاده سازی متد ها با محدودیت همراه میشود

@this_java
کپسوله سازی(Encapsulation)
کپسوله سازی قابلیتی برای حفظ و پنهان کردن اشیای کلاس می باشد. ممکنه بپرسید چه کسانی قصد دارند به طور غیرقانونی به داده ی من دسترسی داشته باشند؟ موقعی که یک برنامه نویس یک کلاس در جاوا ایجاد می کند، او یک الگوی خاص از این کد بوسیله دیگر کلاس ها طرح می کند. برای مثال متغییر grossIncome نبایستی بطور مستقیم اصلاح شود، بلکه بوسیله متدی که روش های اعتبار سنجی را انجام میدهد مطابق با قواعد برنامه مقدار اختصاص داده شود.
یک برنامه نویس جاوا ممکنه تصمیم بگیرد ۱۵تا از ۲۰ متغییر را پنهان کند، بنابراین دیگر کلاس ها نمی توانند به آنها دسترسی پیدا کنند. بعنوان مثال یک راننده را در نظر بگیرید، آیا لازم است کارکرد تمام قطعات یک اتومبیل را بداند؟ البته که نه، او فقط احتیاج به چطور روشنو خاموش کردن اتومبیل،کارکردن با برف پاک کن و… دارد که در اصطلاح برنامه نویسی به آن واسط مشترک اتومبیل می گوییم.

@this_java
Calc_FX.rar
16.8 KB
سورس کد ماشین حساب به زبان JAVA FX

@this_java
src.rar
4.7 KB
سورس کد ماشین حساب به زبان جاوا کتابخانه ی سویینگ(swing)

@this_java
سازنده های پیش فرض و بدون ارگومان

هر کلاس حداقل باید دارای یک سازنده باشد. اگر سازنده ای در اعلان کلاس در نظر نگرفته باشید کامپایلر یک سازنده پیش فرض که ارگومانی دریافت نمیکند را فراخوانی میکند سازنده ی پیش فرض مبادرت به مقدار دهی متغیر های نمونه با مقادیر اولیه مشخص شده در اعلانشان یا مقادیر پیش فرضشان میکند (صفر برای نوع های عددی , false برای مقادیر بولی و null برای مراجعه ها) ..

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