You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Bir metodun parametresi bir dizi referansı olabilir
/*---------------------------------------------------------------------------------------------------------------------- 08.08.2020 Bir metodun parametresi bir dizi referansı olabilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = {1, 2, 3, 4, 5};
ArrayUtil.display(a);
}
}
Bir metodun geri dönüş değerine ilişkin tür bir dizi türü olabilir
/*---------------------------------------------------------------------------------------------------------------------- Bir metodun geri dönüş değerine ilişkin tür bir dizi türü olabilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
importjava.util.Random;
classApp {
publicstaticvoidmain(String [] args)
{
Randomr = newRandom();
int [] a = ArrayUtil.getRandomArray(r, 10, 0, 101);
ArrayUtil.display(a);
}
}
/*---------------------------------------------------------------------------------------------------------------------- ArrayUtil sınıfının fillRandomArray metodu----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
importjava.util.Random;
classApp {
publicstaticvoidmain(String [] args)
{
Randomr = newRandom();
int [] a = newint[10];
ArrayUtil.fillRandomArray(r, a, 0, 101);
ArrayUtil.display(a);
}
}
Sınıf Çalışması: Parametresi ile aldığı int türden bir diziyi tersyüz eden reverse isimli metodu yazınız ve tes ediniz. İşlemi ikinci bir dizi kullanmadan yapınız.
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı int türden bir diziyi tersyüz eden reverse isimli metodu yazınız ve tes ediniz. İşlemi ikinci bir dizi kullanmadan yapınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = {1, 2, 3, 4, 5, 6};
ArrayUtil.reverse(a);
ArrayUtil.display(a);
}
}
Sınıf Çalışması: Parametresi ile aldığı int türden bir diziyi tersyüz eden reverse isimli metodu yazınız ve tes ediniz. İşlemi ikinci bir dizi kullanmadan yapınız.
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı int türden bir diziyi tersyüz eden reverse isimli metodu yazınız ve tes ediniz. İşlemi ikinci bir dizi kullanmadan yapınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = {1, 2, 3, 4, 5};
Util.reverse(a);
ArrayUtil.display(a);
}
}
classUtil {
publicstaticvoidreverse(int [] a)
{
intleft = 0;
intright = a.length - 1;
while (left < right)
swap(a, left++, right--);
}
publicstaticvoidswap(int [] a, inti, intk)
{
inttemp;
temp = a[i];
a[i] = a[k];
a[k] = temp;
}
}
Java'da length bilgisi sıfır olan dizi yaratılabilir
/*---------------------------------------------------------------------------------------------------------------------- Java'da length bilgisi sıfır olan dizi yaratılabilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = newint[0];
int [] b = {};
System.out.printf("Length:%d%n", a.length);
System.out.printf("Length:%d%n", b.length);
}
}
Sıfır elemanlı aşağıdaki gibi kontrol amaçlı kullanılabilir
/*---------------------------------------------------------------------------------------------------------------------- Sıfır elemanlı aşağıdaki gibi kontrol amaçlı kullanılabilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
importjava.util.Random;
importjava.util.Scanner;
classApp {
publicstaticvoidmain(String [] args)
{
Scannerkb = newScanner(System.in);
System.out.print("Dizinin eleman sayısını giriniz:");
intn = Integer.parseInt(kb.nextLine());
System.out.print("En küçük değeri giriniz:");
intmin = Integer.parseInt(kb.nextLine());
System.out.print("En büyük değeri giriniz:");
intmax = Integer.parseInt(kb.nextLine());
Randomr = newRandom();
int [] a = Util.getRandomArray(r, n, min, max);
if (a.length != 0)
ArrayUtil.display(a);
elseSystem.out.println("Geçersiz değerler");
}
}
classUtil {
publicstaticint[] getRandomArray(Randomr, intn, intmin, intmax)
{
if (n <= 0 || min > max)
returnnewint[0];
int [] a = newint[n];
for (inti = 0; i < a.length; ++i)
a[i] = r.nextInt(max - min) + min;
returna;
}
}
Sayısal loto kuponu üreten basit bir program
/*---------------------------------------------------------------------------------------------------------------------- Sayısal loto kuponu üreten basit bir program----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.app.samples.lottary.LottaryApp;
classApp {
publicstaticvoidmain(String [] args)
{
LottaryApp.run();
}
}
packageorg.csystem.app.samples.lottary;
importorg.csystem.util.ArrayUtil;
importjava.util.Scanner;
publicclassLottaryApp {
publicstaticvoidrun()
{
Lottarylottary = newLottary();
Scannerkb = newScanner(System.in);
for (;;) {
System.out.print("Kaç kupon oynamak istersiniz?");
intn = Integer.parseInt(kb.nextLine());
if (n <= 0)
break;
for (inti = 0; i < n; ++i)
ArrayUtil.display(2, lottary.getNumbers());
System.out.println("///////////////////");
}
System.out.println("Tekrar yapıyor musunuz?");
}
}
packageorg.csystem.app.samples.lottary;
importjava.util.Arrays;
importjava.util.Random;
publicclassLottary {
publicRandomrandom;
publicLottary()
{
random = newRandom();
}
publicint [] getNumbers()
{
int [] a = newint[6];
for (inti = 0; i < 6; ++i) {
booleanrepeat;
do {
repeat = false;
a[i] = random.nextInt(49) + 1;
for (intk = 0; k < i; ++k)
if (a[k] == a[i]) {
repeat = true;
break;
}
} while (repeat);
}
Arrays.sort(a); //Diziyi küçükten büyüğe sıralarreturna;
}
}
Sayısal loto kuponu üreten basit bir program (Daha iyi versiyon)
/*---------------------------------------------------------------------------------------------------------------------- Sayısal loto kuponu üreten basit bir program (Daha iyi versiyon)----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.app.samples.lottary.LottaryApp;
classApp {
publicstaticvoidmain(String [] args)
{
LottaryApp.run();
}
}
packageorg.csystem.app.samples.lottary;
importorg.csystem.util.ArrayUtil;
importjava.util.Scanner;
publicclassLottaryApp {
publicstaticvoidrun()
{
Lottarylottary = newLottary();
Scannerkb = newScanner(System.in);
for (;;) {
System.out.print("Kaç kupon oynamak istersiniz?");
intn = Integer.parseInt(kb.nextLine());
if (n <= 0)
break;
for (inti = 0; i < n; ++i)
ArrayUtil.display(2, lottary.getNumbers());
System.out.println("///////////////////");
}
System.out.println("Tekrar yapıyor musunuz?");
}
}
packageorg.csystem.app.samples.lottary;
importjava.util.Random;
publicclassLottary {
publicRandomrandom;
publicboolean [] getFlags()
{
boolean [] flags = newboolean[50];
intval;
for (inti = 0; i < 6; ++i) {
for (;;) {
val = random.nextInt(49) + 1;
if (!flags[val])
break;
}
flags[val] = true;
}
returnflags;
}
publicint [] getNumbers(boolean [] flags)
{
int [] a = newint[6];
intindex = 0;
for (inti = 1; i < 50; ++i)
if (flags[i])
a[index++] = i;
returna;
}
publicLottary()
{
random = newRandom();
}
publicint [] getNumbers()
{
returngetNumbers(getFlags());
}
}
ArrayUtil sınıfının max ve min metotları
/*---------------------------------------------------------------------------------------------------------------------- ArrayUtil sınıfının max ve min metotları----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = ArrayUtil.getRandomArray(10, 0, 256);
ArrayUtil.display(3, a);
System.out.printf("En küçük eleman:%d%n", ArrayUtil.min(a));
System.out.printf("En büyük eleman:%d%n", ArrayUtil.max(a));
}
}
Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının basamklarından oluşan diziyi döndüren getDigits isimli metodu yazınız.
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı int türden bir sayının basamklarından oluşan diziyi döndüren getDigits isimli metodu NumberUtil sınıfı içerisinde yazınız. Metot negatif sayılar için pozitif düşünerek diziyi döndürecektir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
importorg.csystem.util.NumberUtil;
importjava.util.Scanner;
classApp {
publicstaticvoidmain(String [] args)
{
GetDigitsTest.run();
}
}
classGetDigitsTest {
publicstaticvoidrun()
{
Scannerkb = newScanner(System.in);
for (;;) {
System.out.print("Bir sayı giriniz:");
intval = Integer.parseInt(kb.nextLine());
int [] digits = NumberUtil.getDigits(val);
ArrayUtil.display(digits);
if (val == 0)
break;
}
System.out.println("Tekrar yapıyor musunuz?");
}
}
Sınıf Çalışması: Parametresi ile aldığı int türden bir dizinin elemanları toplamını döndüren sum isimli metodu ArrayUtil sınıfı içerisinde yazınız.
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı int türden bir dizinin elemanları toplamını döndüren sum isimli metodu ArrayUtil sınıfı içerisinde yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = ArrayUtil.getRandomArray(10, 0, 101);
ArrayUtil.display(2, a);
System.out.printf("Toplam:%d%n", ArrayUtil.sum(a));
}
}
String sınıfının char türden dizi paametreli ctor'u ile char türden diziden bir String elde edilebilir
/*---------------------------------------------------------------------------------------------------------------------- String sınıfının char türden dizi paametreli ctor'u ile char türden diziden bir String elde edilebilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
classApp {
publicstaticvoidmain(String [] args)
{
char [] c = {'a','n', 'k', 'a', 'r', 'a'};
Strings = newString(c);
System.out.println(s);
}
}
String sınıfının char türden dizi paametreli valueOf ile char türden diziden bir String elde edilebilir
/*---------------------------------------------------------------------------------------------------------------------- String sınıfının char türden dizi paametreli valueOf ile char türden diziden bir String elde edilebilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
classApp {
publicstaticvoidmain(String [] args)
{
char [] c = {'a','n', 'k', 'a', 'r', 'a'};
Strings = String.valueOf(c);
System.out.println(s);
}
}
String sınıfının toCharArray metodu ile bit String'in karakterlerinden oluşan char türden bir dizi elde edilebilir.
/*---------------------------------------------------------------------------------------------------------------------- String sınıfının toCharArray metodu ile bit String'in karakterlerinden oluşan char türden bir dizi elde edilebilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
classApp {
publicstaticvoidmain(String [] args)
{
Strings = "ankara";
char [] c = s.toCharArray();
for (inti = 0; i < c.length; ++i)
System.out.println(c[i]);
}
}
/*---------------------------------------------------------------------------------------------------------------------- 09.08.2020 Dizilerin sıraya dizilmesi (sorting): Dizilerin sıraya dizlmesine yönelik çok algoritma vardır. Sıraya dizme işleminde küçük büyüğe (ascending) sıralama doğal sıralama (natural sort order) olarak tanımlanır. Biz burada kabarcık sıralama (bubble sort) ve seçerek sıralama (selection sort) algoritmalarını kodlayacağız----------------------------------------------------------------------------------------------------------------------*/
### Kabarcıksıralamaalgoritması/*---------------------------------------------------------------------------------------------------------------------- Kabarcık sıralama algoritmasında dizinin yanyana iki elemanı karşıklaştırılır duruma göre yer değiştirilir. Bu işlem bir kez yapılmaz. Her yinelemede en büyük eleman daraltılmış dizinin sonuna gider. Böylece her yinelemede eskisinde bir geriye kadar gitmek yeterli olur----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = {-3, 4, -8, 9, -2, 7, 10, 11};
ArrayUtil.bubbleSort(a, true);
ArrayUtil.display(a);
}
}
/*---------------------------------------------------------------------------------------------------------------------- Seçerek sıralama yönteminde dizinin en küçük elemanı bulunur, ilk elemanla yer değiştirilir. Dizi bir daraltılır, aynı şey daraltılmış dizi için de yapılır. Böyle ilerlenir.----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
classApp {
publicstaticvoidmain(String [] args)
{
int [] a = {-3, 4, -8, 9, -2, 7, 10, 11};
ArrayUtil.selectionSort(a);
ArrayUtil.display(a);
}
}
/*---------------------------------------------------------------------------------------------------------------------- Referans dizilerinde dizinin yaratılması dizinin elemanları olan referansların gösterdikleri nesnelerin de yaratılması anlamına gelmez. Bu durumdda programcının referans dizisinin elemanlları olan referanslara da uygun nesnelerin adreslerini vermesi gerekir. Aşağıdaki örnekte referans dizi yaratılmıştır ancak referansların gösterdiği nesneler olmadığı için erişmeye çalışmak exception oluşturur----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
classApp {
publicstaticvoidmain(String [] args)
{
Sample [] samples;
samples = newSample[5];
for (inti = 0; i < 5; ++i)
samples[i].x = i;
for (inti = 0; i < 5; ++i)
System.out.println(samples[i].x);
}
}
classSample {
publicintx;
publicSample(inta)
{
x = a;
}
}
/*---------------------------------------------------------------------------------------------------------------------- Yukarıdaki problemin bir çözümü aşağıdaki gibi olabilir. Şüphesiz çözüm senaryoya da bağlıdır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
classApp {
publicstaticvoidmain(String [] args)
{
Sample [] samples;
samples = newSample[5];
for (inti = 0; i < 5; ++i)
samples[i] = newSample(i);
for (inti = 0; i < 5; ++i)
System.out.println(samples[i].x);
}
}
classSample {
publicintx;
publicSample(inta)
{
x = a;
}
}
Sınıf çalışması: getDayOfWeek metodunu aşağıdaki kurallara göre yazınız.
/*---------------------------------------------------------------------------------------------------------------------- Sınıf çalışması: Parametresi ile aldığı int türden gün, ay ve yıl bilgilerine ilişkin tarihin aşağıdaki açıklamalara göre haftanın hangi gününe geldiğini döndüren getDayOfWeek metodunu yazınız. Açıklamalar: - Metot geçersiz bir tarih için -1 değerini döndürecektir. - Haftanın günü 1.1.1900 ile verilen tarih arasındaki gün sayısının 7 değerine modu alınarak bulunabilir - 7 değerine mod alındıktan sonra sıfır Pazar, 1 pazartesi, .., 6 cumartesi günü için elde edilecek değerdir - 1.1.1900' den önceki tarihler geçersiz kabul edilecektir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.app.samples.dateapp.DateUtilApp;
classApp {
publicstaticvoidmain(String [] args)
{
DateUtilApp.run();
}
}
packageorg.csystem.app.samples.dateapp;
publicclassDateUtilApp {
publicstaticString [] daysOfWeek = {"Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"};
publicstaticString [] monthsTR = {"", "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran",
"Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"};
publicstaticString [] monthsEN = {"", "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"};
publicstaticvoiddisplayTR(intday, intmonth, intyear)
{
intdayOfWeek = DateUtil.getDayOfWeek(day, month, year);
if (dayOfWeek == -1) {
System.out.println("Geçersiz tarih");
return;
}
System.out.printf("%02d %s %04d %s%n", day, monthsTR[month], year, daysOfWeek[dayOfWeek]);
if (dayOfWeek == 0 || dayOfWeek == 6)
System.out.println("Bugün kurs var. Tekrar yaptınız mı?");
elseSystem.out.println("Kurs günü yaklaşıyor. Tekrar yapınız!!!!");
}
publicstaticvoidrun()
{
java.util.Scannerkb = newjava.util.Scanner(System.in);
for (;;) {
System.out.print("Gün bilgisini giriniz:");
intday = Integer.parseInt(kb.nextLine());
if (day == 0)
break;
System.out.print("Ay bilgisini giriniz:");
intmonth = Integer.parseInt(kb.nextLine());
System.out.print("Yıl bilgisini giriniz:");
intyear = Integer.parseInt(kb.nextLine());
displayTR(day, month, year);
}
}
}
packageorg.csystem.app.samples.dateapp;
publicclassDateUtil {
publicstaticint [] daysOfMonths = {0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};
publicstaticintgetDayOfWeek(intday, intmonth, intyear)
{
intdayOfYear;
dayOfYear = getDayOfYear(day, month, year);
if (dayOfYear == -1 || year < 1900)
return -1;
for (inty = 1900; y < year; ++y)
dayOfYear += isLeapYear(y) ? 366 : 365;
returndayOfYear % 7;
}
publicstaticintgetDayOfYear(intday, intmonth, intyear)
{
if (!isValidDate(day, month, year))
return -1;
intdayOfYear = day;
for (intm = month - 1; m >= 1; --m)
dayOfYear += daysOfMonths[m];
if (month > 2 && isLeapYear(year))
++dayOfYear;
returndayOfYear;
}
publicstaticbooleanisValidDate(intday, intmonth, intyear)
{
if (day < 1 || day > 31 || month < 1 || month > 12)
returnfalse;
intdays = month == 2 && isLeapYear(year) ? 29 : daysOfMonths[month];
returnday <= days;
}
publicstaticbooleanisLeapYear(intyear)
{
returnyear % 4 == 0 && year % 100 != 0 || year % 400 == 0;
}
}
Sınıf çalışması: Klavyden int türden bir n sayısı isteyiniz. n elemanlı bir String dizisi yaratınız.
/*---------------------------------------------------------------------------------------------------------------------- Sınıf çalışması: Klavyden int türden bir n sayısı isteyiniz. n elemanlı bir String dizisi yaratınız. Bu dizinin her bir elemanını rasgele uzunlukta rasgele üretilmiş yazılarla doldurunuz. Bu işlemden sonra dizinin elemanlarını aralarında - (tire) karakteri olacak şekilde birleştirip yeni bir String elde eden programı yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
importorg.csystem.util.StringUtil;
importjava.lang.reflect.Array;
importjava.util.Random;
importjava.util.Scanner;
classApp {
publicstaticvoidmain(String [] args)
{
JoinWithDelimiterApp.run();
}
}
classJoinWithDelimiterApp {
publicstaticvoidrun()
{
Randomr = newRandom();
Scannerkb = newScanner(System.in);
System.out.print("Bir sayı giriniz:");
intn = Integer.parseInt(kb.nextLine());
String [] strings = newString[n];
for (inti = 0; i < n; ++i)
strings[i] = StringUtil.getRandomTextTR(r, r.nextInt(10) + 10);
ArrayUtil.display(strings);
Stringstr = ArrayUtil.join(strings, '-');
System.out.println(str);
}
}
Sınıf çalışması: Parametresi ile aldığı en fazla üç basamaklı bir sayının Türkçe olarak okunuşunu döndüren numberToText3DigitsTR metodunu yazınız ve test ediniz.
/*---------------------------------------------------------------------------------------------------------------------- Sınıf çalışması: Parametresi ile aldığı en fazla üç basamaklı bir sayının Türkçe olarak okunuşunu döndüren numberToText3DigitsTR metodunu yazınız ve test ediniz. Metot 3 basamaktan daha büyü sayılar için kontrol yapmayacaktır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.NumberUtil;
importjava.util.Random;
importjava.util.Scanner;
classApp {
publicstaticvoidmain(String [] args)
{
NumberToText3DigitsTest.run();
}
}
classNumberToText3DigitsTest {
publicstaticvoidrun()
{
Scannerkb = newScanner(System.in);
Randomr = newRandom();
for (;;) {
System.out.print("Bir sayı giriniz:");
intn = Integer.parseInt(kb.nextLine());
if (n <= 0)
break;
for (inti = 0; i < n; ++i) {
intval = r.nextInt(1000 + 999) - 999;
System.out.printf("%d:%s%n", val, NumberUtil.numberToText3DigitsTR(val));
}
System.out.println("*********************************");
}
System.out.println("Tekrar yapıyor musunuz?");
}
}
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*//*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*//*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*//*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/