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
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Klavyeden quit girilene kadar alınan yazıların arasında - olacak şekilde birleştiren ve bir String elde eden programı yazınız. Programda tamamyla boşluk karakterlerinden oluşan yazılar dikkate alınmayacaktır. Not: String sınıfına Java 11 ile birlikte isBlank isimli bir metot eklenmiştir bu metot bir yazının tamamen boşluk karaktelerinden oluşup oluşmadığını test etmekte kullanılır. Bu metottan önce bu işlemin s.trim().isEmpty() ile yapılabileceğini anımsayınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
ConcatWithDelimApp.run();
}
}
classConcatWithDelimApp {
publicstaticvoidrun()
{
StringBuildersb = newStringBuilder();
for (;;) {
Strings = Console.read("Bir yazı giriniz:");
if (s.isBlank())
continue;
if (s.equals("quit"))
break;
if (sb.length() > 0)
sb.append('-');
sb.append(s);
}
Stringstr = sb.toString();
Console.writeLine(str);
}
}
Sınıf Çalışması: Stringler arasına tire koyarak birleştirme
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Klavyeden quit girilene kadar alınan yazıların arasında - olacak şekilde birleştiren ve bir String elde eden programı yazınız. Programda tamamyla boşluk karakterlerinden oluşan yazılar dikkate alınmayacaktır. Not: String sınıfına Java 11 ile birlikte isBlank isimli bir metot eklenmiştir bu metot bir yazının tamamen boşluk karaktelerinden oluşup oluşmadığını test etmekte kullanılır. Bu metottan önce bu işlemin s.trim().isEmpty() ile yapılabileceğini anımsayınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
ConcatWithDelimApp.run();
}
}
classConcatWithDelimApp {
publicstaticvoidrun()
{
StringBuildersb = newStringBuilder();
for (;;) {
Strings = Console.read("Bir yazı giriniz:");
if (s.isBlank())
continue;
if (s.equals("quit"))
break;
sb.append(s).append('-');
}
Stringstr = sb.substring(0, sb.length() - 1);
Console.writeLine(str);
}
}
Sınıf Çalışması: Birinci yazıdan ikinci yazıyı çıkarma
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı iki yazıdan birincisi içerisinden ikincisinin karaketerlerinin atılmış olduğu yazıyı döndüren squeeze isimli metodu StringUtil sınıfı içerisinde yazınız. Örnek: adana, ankara -> d----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importorg.csystem.util.StringUtil;
classApp {
publicstaticvoidmain(String [] args)
{
SqueezeTest.run();
}
}
classSqueezeTest {
publicstaticvoidrun()
{
for (;;) {
Strings1 = Console.read("Birinci yazıyı giriniz");
Strings2 = Console.read("İkinci yazıyı giriniz");
Console.writeLine("Sonuç:%s", StringUtil.squeeze(s1, s2));
if (s1.equals("quit"))
break;
}
Console.writeLine("Tekrar yapıypr musunuz?");
}
}
StringBuilder sınıfının setLength metodu ile uzunluk değiştirilebilir. Eğer büyütülürse eklenen karakterler yerine null karakter '\0' karakteri yarleştirilir
/*---------------------------------------------------------------------------------------------------------------------- StringBuilder sınıfının setLength metodu ile uzunluk değiştirilebilir. Eğer büyütülürse eklenen karakterler yerine null karakter '\0' karakteri yarleştirilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
StringBuildersb = newStringBuilder("ankara");
Console.writeLine("Length:%d", sb.length());
sb.setLength(10);
Console.writeLine("Length:%d", sb.length());
sb.append("istanbul");
Console.writeLine("Length:%d", sb.length());
Console.writeLine(sb);
Console.writeLine("//////////////////////////");
for (inti = 0; i < sb.length(); ++i)
if (sb.charAt(i) == '\0')
Console.write("%d ", i);
Console.writeLine();
}
}
StringBuilder sınıfının setLength metodu ile uzunluk küçültülebilir
/*---------------------------------------------------------------------------------------------------------------------- var anahtar sözcüğü Java 10 ile eklenmiştir. Yerel değişkenlerde ve ileride göreceğimiz Lambda ifadelerinde (Java 11) kullanılabilir. Bu anahtar sözcük sonradan eklendiği için kullanım yerine göre anahtar sözcük olup olmadığı anlaşılır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
intvar;
var = 20;
Console.writeLine(var);
}
}
var ile bildirilen bir değişkenlere ilk değer verilmelidir
/*---------------------------------------------------------------------------------------------------------------------- var ile bildirilen bir değişkenlere ilk değer verilmelidir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
vara; //errora = 10;
}
}
var ile bildirilen bir değişkene verilen ilk değere göre türü tespit edilir (type deduction, inference).
/*---------------------------------------------------------------------------------------------------------------------- var ile bildirilen bir değişkene verilen ilk değere göre türü tespit edilir (type deduction, inference). ve değişken yaşamı boyunca aynı türdedir. Java' da bir değişkenin türünün değişmeyeceğini anımsayınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
classApp {
publicstaticvoidmain(String [] args)
{
vara = 10;
a = 2.3; //error
}
}
Java' da bir değişkenin türünün değişmeyeceğini anımsayınız
/*---------------------------------------------------------------------------------------------------------------------- var ile bildirilen bir değişkene verilen ilk değere göre türü tespit edilir (type deduction, inference). ve değişken yaşamı boyunca aynı türdedir. Java' da bir değişkenin türünün değişmeyeceğini anımsayınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
varsb = newStringBuilder();
sb.append(10);
Console.writeLine(sb);
}
}
var değişkenler for döngü deyiminde de kullanılabilir
/*---------------------------------------------------------------------------------------------------------------------- var değişkenler for döngü deyiminde de kullanılabilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
for (vari = 1.3; i < 2.3; i += 0.1)
Console.writeLine(i);
}
}
var değişkenler parametre değişkenlerinde ve sınıf veri elemanlarında kullanılamaz
/*---------------------------------------------------------------------------------------------------------------------- var değişkenler parametre değişkenlerinde ve sınıf veri elemanlarında kullanılamaz----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
}
}
classSample {
publicvarx; //errorpublicvoidfoo(vara) //error
{
//...
}
}
Aşağıdaki örnekte b nin türü double olmaktadır
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte b nin türü double olmaktadır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
vara = Console.readInt("Bir sayı giriniz:");
varb = a > 0 ? 12 : 3.4;
Console.writeLine("b=%d", b);
}
}
Aşağıdaki örnekte b nin türünün ne olduğu ileride ele alınacaktır. Şu an mantıksal olarak atanan değerin türü olur denebilir
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte b nin türünün ne olduğu ileride ele alınacaktır. Şu an mantıksal olarak atanan değerin türü olur denebilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
vara = Console.readInt("Bir sayı giriniz:");
varb = a > 0 ? 12 : "ankara";
Console.writeLine("b=%s", b);
}
}
Aşağıdaki örnekte yine klavyeden girilen değere göre yuvarlama hatası oluşabilir
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte yine klavyeden girilen değere göre yuvarlama hatası oluşabilir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
floata = Console.readFloat("Bir sayı giriniz:");
Console.writeLine("a=%.20f", a);
}
}
Aşağıdaki örnekte double türü için mantıksal bir eşitlik karşılaştırması yaklaşımı yazılmıştır
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte double türü için mantıksal bir eşitlik karşılaştırması yaklaşımı yazılmıştır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
doublea = Console.readDouble("Birinci sayıyı giriniz:");
doubleb = Console.readDouble("İkinci sayıyı giriniz:");
doublec = Console.readDouble("Üçüncü sayıyı giriniz:");
doubled;
d = a + b;
Console.writeLine("a=%.20f", a);
Console.writeLine("b=%.20f", b);
Console.writeLine("c=%.20f", c);
Console.writeLine("d=%.20f", d);
doublee = 0.0001;
if (Math.abs(c - d) < e)
Console.writeLine("Eşit");
elseConsole.writeLine("Eşit değil");
}
}
Aşağıdaki örnekte double türü için mantıksal bir eşitlik karşılaştırması yaklaşımı yazılmıştır
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte double türü için mantıksal bir eşitlik karşılaştırması yaklaşımı yazılmıştır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
doublea = Console.readDouble("Birinci sayıyı giriniz:");
doubleb = Console.readDouble("İkinci sayıyı giriniz:");
doublec = Console.readDouble("Üçüncü sayıyı giriniz:");
doubled;
d = a + b;
Console.writeLine("a=%.20f", a);
Console.writeLine("b=%.20f", b);
Console.writeLine("c=%.20f", c);
Console.writeLine("d=%.20f", d);
StringcStr = String.format("%.4f", c);
StringdStr = String.format("%.4f", d);
if (cStr.equals(dStr))
Console.writeLine("Eşit");
elseConsole.writeLine("Eşit değil");
}
}
Aşağıdaki örnekte double türü için mantıksal bir eşitlik karşılaştırması yaklaşımı yazılmıştır
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte double türü için mantıksal bir eşitlik karşılaştırması yaklaşımı yazılmıştır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
doublea = Console.readDouble("Birinci sayıyı giriniz:");
doubleb = Console.readDouble("İkinci sayıyı giriniz:");
doublec = Console.readDouble("Üçüncü sayıyı giriniz:");
doubled;
d = a + b;
Console.writeLine("a=%.20f", a);
Console.writeLine("b=%.20f", b);
Console.writeLine("c=%.20f", c);
Console.writeLine("d=%.20f", d);
c = Math.rint(c * Math.pow(10, 4)) / Math.pow(10, 4);
d = Math.rint(d * Math.pow(10, 4)) / Math.pow(10, 4);
Console.writeLine("c=%.20f", c);
Console.writeLine("d=%.20f", d);
if (c == d)
Console.writeLine("Eşit");
elseConsole.writeLine("Eşit değil");
}
}
BigDecimal sınıfı
/*---------------------------------------------------------------------------------------------------------------------- BigDecimal sınıfı genel olarak yuvralamanın nasıl olacağının belirlenebildiği aynı zamanda çok büyük çok küçük gerçek sayılar ile çalışabilmek için tasarlanmıştır. Yuvarlama hatalarının belirlenebilmesi yuvarlama yapılmamasını da belirleyebilmemizi sağlar. Aşağıdaki örnekte yuvarlama hatası olmayan gerçek sayı işlemi yapılmıştır. BigDecimal sınıfı immutable bir sınıftır----------------------------------------------------------------------------------------------------------------------*/
Aşağıdaki örnekte yuvarlama hatası olmayan gerçek sayı işlemi yapılmıştır
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte yuvarlama hatası olmayan gerçek sayı işlemi yapılmıştır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
vara = BigDecimal.valueOf(0.1);
varb = BigDecimal.valueOf(0.2);
varc = a.add(b);
Console.writeLine("%.20f", c.doubleValue());
}
}
BigDecimal sınıfının static ONE, ZERO ve TEN veri elemanları
/*---------------------------------------------------------------------------------------------------------------------- BigDecimal sınıfının static ONE, ZERO ve TEN veri elemanları----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
varone = BigDecimal.ONE;
varzero = BigDecimal.ZERO;
varten = BigDecimal.TEN;
Console.writeLine(one);
Console.writeLine(zero);
Console.writeLine(ten);
}
}
BigDecimal sınıfının double porametreli ctor elemanı default olarak yuvarlama işlemi yapar. Bu ctor ile elde edilen değerin BigDecimal içerisindeki değeri aynı olmayabilir.
/*---------------------------------------------------------------------------------------------------------------------- BigDecimal sınıfının double porametreli ctor elemanı default olarak yuvarlama işlemi yapar. Bu ctor ile elde edilen değerin BigDecimal içerisindeki değeri aynı olmayabilir. Programcı bu duruma dikkat etmelidir----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
varbd1 = newBigDecimal(0.123100001);
varbd2 = newBigDecimal(-0.367900001);
varresult = bd1.add(bd2);
Console.writeLine(result);
}
}
Yukarıdaki problem valueOf metodu kullanılarak çözülebilir. Aşağıdaki örnekte yaratılam BigDecimal nesneleri yuvarlama hatası olmayacak şekilde işlem yaparlar
/*---------------------------------------------------------------------------------------------------------------------- Yukarıdaki problem valueOf metodu kullanılarak çözülebilir. Aşağıdaki örnekte yaratılam BigDecimal nesneleri yuvarlama hatası olmayacak şekilde işlem yaparlar----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
varbd1 = BigDecimal.valueOf(0.123100001);
varbd2 = BigDecimal.valueOf(-0.367900001);
varresult = bd1.add(bd2);
Console.writeLine(result);
}
}
/*---------------------------------------------------------------------------------------------------------------------- BigDecimal sınıfının compareTo metodu: res = x.compareTo(y); çağrısı için: 1. x < y ise res == -1 2. x > y ise res == 1 3. x == y ise res == 0----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
varbd1 = Console.readBigDecimal("Birinci sayıyı giriniz:");
varbd2 = Console.readBigDecimal("İkinci sayıyı giriniz:");
Console.writeLine(bd1.compareTo(bd2));
}
}
Sınıf Çalışması: Klavyeden sıfır girilene kadar alınan BigDecimal sayıların en büyüğünü, en küçüğünü ve toplamlarını bulan programı yazınız
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Klavyeden sıfır girilene kadar alınan BigDecimal sayıların en büyüğünü, en küçüğünü ve toplamlarını bulan programı yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
FindMinMaxTotalApp.run();
}
}
classFindMinMaxTotalApp {
publicstaticvoidrun()
{
varval = Console.readBigDecimal("Bir sayı giriniz:");
if (!val.equals(BigDecimal.ZERO)) {
varmin = val;
varmax = val;
varsum = val;
for (;;) {
val = Console.readBigDecimal("Bir sayı giriniz:");
if (val.equals(BigDecimal.ZERO))
break;
if (val.compareTo(min) < 0)
min = val;
if (max.compareTo(val) < 0)
max = val;
sum = sum.add(val);
}
Console.writeLine("En küçük sayı:%s", min);
Console.writeLine("En büyük sayı:%s", max);
Console.writeLine("Toplam:%s", sum);
}
elseConsole.writeLine("Hiç sayı girilmedi");
}
}
Sınıf Çalışması: Klavyeden sıfır girilene kadar alınan BigDecimal sayıların en büyüğünü, en küçüğünü ve toplamlarını bulan programı yazınız
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Klavyeden sıfır girilene kadar alınan BigDecimal sayıların en büyüğünü, en küçüğünü ve toplamlarını bulan programı yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
FindMinMaxTotalApp.run();
}
}
classFindMinMaxTotalApp {
publicstaticvoidrun()
{
varval = Console.readBigDecimal("Bir sayı giriniz:");
if (!val.equals(BigDecimal.ZERO)) {
varmin = val;
varmax = val;
varsum = val;
for (;;) {
val = Console.readBigDecimal("Bir sayı giriniz:");
if (val.equals(BigDecimal.ZERO))
break;
if (val.compareTo(min) < 0)
min = val;
if (max.compareTo(val) < 0)
max = val;
sum = sum.add(val);
}
Console.writeLine("En küçük sayı:%s", min);
Console.writeLine("En büyük sayı:%s", max);
Console.writeLine("Toplam:%s", sum);
}
elseConsole.writeLine("Hiç sayı girilmedi");
}
}
Yukarıdaki örnek double türü için aşağıdaki gibi yapılabilir. Yaklaşım farkını inceleyiniz
/*---------------------------------------------------------------------------------------------------------------------- Yukarıdaki örnek double türü için aşağıdaki gibi yapılabilir. Yaklaşım farkını inceleyiniz----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
FindMinMaxTotalApp.run();
}
}
classFindMinMaxTotalApp {
publicstaticvoidrun()
{
doublesum = 0;
doublemin = Double.POSITIVE_INFINITY;
doublemax = Double.NEGATIVE_INFINITY;
doubleval = Console.readDouble("Bir sayı giriniz:");
if (val != 0) {
for (;;) {
if (val < min)
min = val;
if (max < val)
max = val;
sum += val;
val = Console.readDouble("Bir sayı giriniz:");
if (val == 0)
break;
}
Console.writeLine("En küçük sayı:%.40f", min);
Console.writeLine("En büyük sayı:%.40f", max);
Console.writeLine("Toplam:%.20f", sum);
}
elseConsole.writeLine("Hiç sayı girmediniz");
}
}
Yukarıdaki BigDecimal ile yapıalm örnek double türü için aşağıdaki gibi yapılabilir. Yaklaşım farkını inceleyiniz
/*---------------------------------------------------------------------------------------------------------------------- Yukarıdaki BigDecimal ile yapıalm örnek double türü için aşağıdaki gibi yapılabilir. Yaklaşım farkını inceleyiniz----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
FindMinMaxTotalApp.run();
}
}
classFindMinMaxTotalApp {
publicstaticvoidrun()
{
doublesum = 0;
doublemin = Double.MAX_VALUE;
doublemax = -Double.MAX_VALUE;
doubleval = Console.readDouble("Bir sayı giriniz:");
if (val != 0) {
for (;;) {
if (val < min)
min = val;
if (max < val)
max = val;
sum += val;
val = Console.readDouble("Bir sayı giriniz:");
if (val == 0)
break;
}
Console.writeLine("En küçük sayı:%.40f", min);
Console.writeLine("En büyük sayı:%.40f", max);
Console.writeLine("Toplam:%.20f", sum);
}
elseConsole.writeLine("Hiç sayı girmediniz");
}
}
/*---------------------------------------------------------------------------------------------------------------------- BigDecimal sınıfının min ve max metotları----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
classApp {
publicstaticvoidmain(String [] args)
{
FindMinMaxTotalApp.run();
}
}
classFindMinMaxTotalApp {
publicstaticvoidrun()
{
varval = Console.readBigDecimal("Bir sayı giriniz:");
if (!val.equals(BigDecimal.ZERO)) {
varmin = val;
varmax = val;
varsum = val;
for (;;) {
val = Console.readBigDecimal("Bir sayı giriniz:");
if (val.equals(BigDecimal.ZERO))
break;
min = min.min(val);
max = max.max(val);
sum = sum.add(val);
}
Console.writeLine("En küçük sayı:%s", min);
Console.writeLine("En büyük sayı:%s", max);
Console.writeLine("Toplam:%s", sum);
}
elseConsole.writeLine("Hiç sayı girilmedi");
}
}
Sınıf Çalışması: Klavyeden BigDecimal türden bir değer isteyiniz. Bu işlemden sonra klavyeden sıfır girilenekadar alınan BigDecimal sayıları virgülden sonra yine klavyeden istenecek basamak olacak şekilde ilk istenen sayıya bölümlerinin toplamını bulan programı yazınız
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Klavyeden BigDecimal türden bir değer isteyiniz. Bu işlemden sonra klavyeden sıfır girilene kadar alınan BigDecimal sayıları virgülden sonra yine klavyeden istenecek basamak olacak şekilde ilk istenen sayıya bölümlerinin toplamını bulan programı yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.math.BigDecimal;
importjava.math.MathContext;
importjava.math.RoundingMode;
classApp {
publicstaticvoidmain(String [] args)
{
FindTotalApp.run();
}
}
classFindTotalApp {
publicstaticvoidrun()
{
vardivisor = Console.readBigDecimal("Bölen sayıyı giriniz:");
vartotal = BigDecimal.ZERO;
for (;;) {
varval = Console.readBigDecimal("Bir sayı giriniz:");
if (val.equals(BigDecimal.ZERO))
break;
varprecision = Console.readInt("Virgülden sonraki basamak sayısını giriniz:");
varresult = val.divide(divisor, newMathContext(precision, RoundingMode.HALF_UP));
total = total.add(result);
}
Console.writeLine("Toplam:%s", total);
}
}
Sınıf Çalışması:BigInteger türden isPrime metodunu yazınız
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı BigInteger türden bir sayının asal sayı olup olmadığını test eden isPrime metodunu Euclid'in asal sayı algoritması ile yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importorg.csystem.util.NumberUtil;
importjava.math.BigInteger;
classApp {
publicstaticvoidmain(String [] args)
{
for (BigIntegern = BigInteger.valueOf(-10); n.compareTo(BigInteger.valueOf(100)) <= 0; n = n.add(BigInteger.ONE))
if (NumberUtil.isPrime(n))
Console.write("%d ", n);
Console.writeLine();
Console.writeLine(NumberUtil.isPrime(BigInteger.valueOf(1_000_003)));
}
}
Sınıf Çalışması:Klavyeden girilen n sayısı kadar yine her adımda klavyeden istenen numBits değerini kullanarak asallık sınaması yapınız
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Klavyeden girilen n sayısı kadar yine her adımda klavyeden istenen numBits değerini kullanarak üretilen BigInteger değerlerinin asal olup olmadığı bilgisiyle ekrana yazdıran programı yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importorg.csystem.util.NumberUtil;
importjava.math.BigInteger;
importjava.util.Random;
classApp {
publicstaticvoidmain(String [] args)
{
RandomBigIntegerGenerator.run();
}
}
classRandomBigIntegerGenerator {
publicstaticvoidrun()
{
varn = Console.readInt("Bir sayı giriniz:");
Randomr = newRandom();
for (inti = 0; i < n; ++i) {
varnumBits = Console.readInt("Bit sayısını (numBits) giriniz:");
varval = newBigInteger(numBits, r);
Console.writeLine("%s (%s)", val, NumberUtil.isPrime(val) ? "Asal" : "Asal değil");
}
Console.writeLine("Tekrar yapıyor musunuz?");
}
}
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Klavyeden girilen n sayısı kadar yine klavyeden istenen numBits değerini kullanarak üretilen BigInteger değerlerinin asal olup olmadığı bilgisiyle ekrana yazdıran programı yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importorg.csystem.util.NumberUtil;
importjava.math.BigInteger;
importjava.util.Random;
classApp {
publicstaticvoidmain(String [] args)
{
RandomBigIntegerGenerator.run();
}
}
classRandomBigIntegerGenerator {
publicstaticvoidrun()
{
varn = Console.readInt("Bir sayı giriniz:");
varnumBits = Console.readInt("Bit sayısını (numBits) giriniz:");
Randomr = newRandom();
for (inti = 0; i < n; ++i) {
varval = newBigInteger(numBits, r);
Console.writeLine("%s (%s)", val, NumberUtil.isPrime(val) ? "Asal" : "Asal değil");
}
Console.writeLine("Tekrar yapıyor musunuz?");
}
}
Sınıf Çalışması: Parametresi ile aldığı BigInteger türden dizinin elemanları toplamını döndüren sum metodunu ArrayUtil sınıfı içerisinde yazınız
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı BigInteger türden dizinin elemanları toplamını döndüren sum metodunu ArrayUtil sınıfı içerisinde yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.ArrayUtil;
importorg.csystem.util.Console;
importjava.util.Random;
classApp {
publicstaticvoidmain(String [] args)
{
SumBigIntegersTest.run();
}
}
classSumBigIntegersTest {
publicstaticvoidrun()
{
Randomr = newRandom();
for (;;) {
varn = Console.readInt("Dizinin eleman sayısını giriniz:");
if (n <= 0)
break;
varnumBits = Console.readInt("Bit sayısını giriniz:");
varbigIntegers = ArrayUtil.getRandomBigIntegerArray(r, n, numBits);
ArrayUtil.display(bigIntegers);
Console.writeLine("Toplam:%d", ArrayUtil.sum(bigIntegers));
}
Console.writeLine("Tekrar yapıyor musunuz?");
}
}
Sınıf Çalışması: BigInteger türünden factorial isimli metodu NumberUtil içinde tekrar yazınız
/*---------------------------------------------------------------------------------------------------------------------- Sınıf Çalışması: Parametresi ile aldığı long türden bir sayının faktoriyel değerini BigInteger olarak döndüren factorial isimli metodu NumberUtil sınıfı içerisinde yazınız----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importorg.csystem.util.NumberUtil;
classApp {
publicstaticvoidmain(String [] args)
{
FactorialTest.run();
}
}
classFactorialTest {
publicstaticvoidrun()
{
for (longn = -1; n <= 50; ++n)
Console.writeLine("%d!=%s", n, NumberUtil.factorial(n));
Console.writeLine("Tekrar yapıyor musunuz?");
}
}
Programın komut satırı argümanları (command line argumnets):
/*---------------------------------------------------------------------------------------------------------------------- Programın komut satırı argümanları (command line argumnets): Bir program çalışıtırılken programa verilebilecek değerlere denir. Programın komut satırı argümanları Java' da main metodunun parametresi olan String dizi ile program içerisinde kullanılabilir. Komut satırı argümanlarında boşluk (whitespace) sayısının önemi yoktur. Komut satırı argümanı olarak boşlukla beraber yazı alınması gerekiyorsa genel olarak tüm işletim sistemlerinin desteklediği "" arasında yazılabilir.----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
classApp {
publicstaticvoidmain(String [] args)
{
Console.writeLine("Number of arguments:%d", args.length);
for (vararg : args)
Console.writeLine(arg);
}
}
Aşağıdaki örnekte komut satırı argümanı ile alınan değerlere göre işlem yapılmıştır
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte komut satırı argümanı ile alınan değerlere göre işlem yapılmıştır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importjava.util.Random;
classApp {
publicstaticvoidmain(String [] args)
{
if (args.length != 3) {
Console.Error.writeLine("usage:<program> <n> <min> <max>");
System.exit(-1);
}
varn = Integer.parseInt(args[0]);
varmin = Integer.parseInt(args[1]);
varmax = Integer.parseInt(args[2]);
varrandom = newRandom();
for (inti = 0; i < n; ++i)
Console.writeLine(random.nextInt(max - min) + min);
Console.writeLine("Copyleft C and System Programmers Association");
}
}
Aşağıdaki örnekte komut satırı argümanı verilmemişse klavyeden giriş yapılabilecek bir program yazılmıştır
/*---------------------------------------------------------------------------------------------------------------------- Aşağıdaki örnekte komut satırı argümanı verilmemişse klavyeden giriş yapılabilecek bir program yazılmıştır----------------------------------------------------------------------------------------------------------------------*/packageorg.csystem.app;
importorg.csystem.util.Console;
importorg.csystem.util.StringUtil;
classApp {
publicstaticvoidmain(String [] args)
{
if (args.length > 1) {
Console.Error.writeLine("Argument can not be greater than 1(one)");
System.exit(-1);
}
vararg = args.length == 0 ? Console.read("Input your text:") : args[0];
Console.writeLine(StringUtil.isPalindrome(arg) ? "Palindrome" : "Not a palindrome");
Console.writeLine("Copyleft C and System Programmers Association");
}
}
/*--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------*/