Jump to content
Forumu Destekleyenlere Katılın ×
Paticik Forumları
2000 lerden beri faal olan, çok şukela bir paylaşım platformuyuz. Hoşgeldiniz.

Java Sorularım (Takıldıkça Soru Eklenecek)


Buddha

Öne çıkan mesajlar

Arakdaşlar kursa başladım. Bu başlıktan takıldıkça size soracam yardımcı olursanız sevinirim. Daha çok yeni öğreniyorum sorularımı yadırgamayın lütfen, öğreniyoruz :)

Hoca bir ödev verdi kafamda algoritmasını oluşturdum. Ama daha başlarken hatayla karşılaştım. Kullanıcı klavyede değer girecek. Şöyle;


import java.util.Scanner;
public class Mulakat {

public static void main(String test[]){

Scanner klv = new Scanner(System.in);

char cins;
byte yas;
boolean aDurumi;
char almanca;
char ingilizce;
String mezuniyet;

System.out.print("Cinsiyetiniz?: (Erkek ise "E", Kiz ise "K" yaziniz.");
cins = klv.nextChar();

}
}


Hatayı verdiği kısım;


cins = klv.nextChar();


Charda hata veriyor byte string int boolean da sorun yok. Mesela byte değer isteyince şöle yapıyorum çalışıyor;


cins = klv.nextByte();


Yada string çalışışıyor;


mezuniyet = klv.next();


Bunlar çalışıyor ama char değişkeniyle olmuyor. Hata verilen kısımda problem nedir?


NOT: Yardımlarınızı bekliyorum. Bu ilk sorumdu bu başlığı arada kontrol ederseniz sevinirim takıldıkça bu başlıktan sorucam sorularımı.
Link to comment
Sosyal ağlarda paylaş

Hoca char istiyor. Benimde aklıma geldi string alıp chara değiştireyim. Stringte chara dönüşmüyor ayda benim öğrendiğim şekilde. Mesela;


import java.util.Scanner;
public class Mulakat {

public static void main(String test[]){

Scanner klv = new Scanner(System.in);

String cins;
byte yas;
boolean aDurumi;
String almanca;
String ingilizce;
String mezuniyet;

System.out.print("Cinsiyetiniz?: (Erkek ise "E", Kiz ise "K" yaziniz.");
cins = klv.next();
char cins1 = Character.parseChar(cins);

}
}


Böyle yaptım bu seferde toChar diye bişey yok diye hata veriyor?
Link to comment
Sosyal ağlarda paylaş

internette buldugum bir örnek


import java.util.Scanner;

public class InChar
{
public static void main(String args[])
{
// System.in.Read Version
System.out.printf("System.in.Read Version..nEnter Char ==> ");
try
{
char temp = (char)System.in.read();
System.out.printf("nYou Entered: " + temp + "n");
}catch(Exception exe)
{ exe.printStackTrace(); }

// Scanner Version
System.out.printf("nnScanner Version..nEnter Char ==> ");
Scanner kb = new Scanner(System.in);
String tString = kb.next();
char temp2 = tString.charAt(0);
System.out.printf("nYou Entered: " + temp2 + "n");

// Don't wait for enter key Version
/*
public static void waitForCont()
{
out.printf("nPress C to Continue...n");
boolean pressed = false;
String entered = "";
while(!pressed)
{
entered=kb.next();
if((entered.equals("C"))||entered.equals("c"))
pressed=true;
}
}
*/



}


}



gösterdiği gibi next ile string olarak alıp sonra 0. elemanı alabilirsin illa scanner kullanmak istiyorsan.
edit: kodu kopyalayınca çok salak görünüyor linki atayım bari
http://www.overclockers.com/forums/showthread.php?t=482984
Link to comment
Sosyal ağlarda paylaş

Kojiroh'un dediği sanırım Borastus eklediği kod.

Evet bu şekilde oldu. Ama hoca bilerek mi char istedi, gidin araştırın diye anlamadım. Çünkü illa cinsiyet soracaksın ve char olarak diyor. Ve onun örettiklerinde bunu yapmanın yolu yok. Yoksa varda ben mi bulamıyorum.

Neyse bu sekilde devam edeyim kafamdakini olusturayım bakayım ne cıkacak.
Link to comment
Sosyal ağlarda paylaş


import java.util.Scanner;
public class Mulakat {

public static void main(String test[]){

Scanner klv = new Scanner(System.in);

String cins; //String chara cevirdim. Char da Scanner calısmıyor.
byte yas;
boolean aDurumi;
String almanca;
String ingilizce;
String mezuniyet;
String alinmadi = "Biz Sizi Arayacagiz. Tesekkurler.";
String alindi = "İşe alındınız tebrikler.";

System.out.print("Cinsiyetiniz? (Erkek ise "e", Kiz ise "k" yaziniz : ");
cins = klv.next();
char cinsSonuc = cins.charAt(0);
System.out.print("Yasiniz Kac: ");
yas = klv.nextByte();
System.out.print("Askerliginizi Yaptiniz mi? (Yaptiysaniz "true", Yapmadiysaniz "false" yaziniz: ");
aDurumi = klv.nextBoolean();
System.out.print("Almanca biliyor musunuz? (Biliyorsaniz "evet", Bilmiyorsaniz "hayir" yaziniz: ");
almanca = klv.next();
char almancaSonuc = almanca.charAt(0);
System.out.print("İngilizce biliyor musunuz? (Biliyorsaniz "Evet", Bilmiyorsaniz "Hayir" yaziniz: ");
ingilizce = klv.next();
char ingilizceSonuc = ingilizce.charAt(0);
boolean dilSonuc = (almancaSonuc != 'e') && (ingilizceSonuc != 'e');
System.out.print("Mezuniyet Durumunuz Nedir? (Orn: lisans, onlisans, lise)");
mezuniyet = klv.next();
System.out.println();

if (cinsSonuc != 'e') //! parantez başına oyunca hata veriyor?
System.out.println(alinmadi);
else if (yas > 25)
System.out.println(alinmadi);
else if (aDurumi != true) // (aDurumi = false)calismiyor.
System.out.println(alinmadi);
else if (dilSonuc = true)

System.out.println(alinmadi);
else if (mezuniyet != "lisans")
System.out.println(alinmadi);
else System.out.println(alindi);


}
}


Kalın yazdığım yerlerden birinde mantık hatası var. En az ingilice ayda almancadan 1ine "e" cevabı vermesi lazım işe alınması için. Bende eğer ikisinede "e" dışında bir cevap vermişse yani dilSonuc = true yani doğru çıkarsa işe alınmasın. Öbür türlü esleye atıcak adam işe alınacak.

Ama çalıştırdığımda ikisinede evet ikisinede hayır 1ine evet öbürüne hayır tüm kombinasyonları yaptım adam işe alınmıyor. Oysa en az 1ini bilmesi durumunda işe alınması lazım.

Nerde yanlış yaptım?
Link to comment
Sosyal ağlarda paylaş

Abi yine olmuyor. if kısmını false yapmam gekiyor. False yapınca yine işe almıyor. if içinde falseyi gördüğü an yanlış olarak akbul ediyor sanırım.

Benim yaptığımda aynı mantık çünkü. Eğer iksii birden e değilse işe alınmadı cıksın diğer türlü işe alınsın şeklinde. Senin dediğinde benim yaptığımda olmuyor.
Link to comment
Sosyal ağlarda paylaş

else if (dilSonuc = true)
System.out.println(alinmadi);

burda yaptıgı once dilSonuc e true atıyor sonra bu işlem basarili olursa alinmadi string ini yazdırıyor. Senin yapman gereken

else if (dilSonuc == true)
System.out.println(alinmadi);

birde
else if (mezuniyet.equals("lisans"))
olması gerek direkt = ile string karsilaştırması olmuyor.

son olarak tavsiyem bir sürü birbirinin aynısı println lerin var onları söyle yaparsan:

if (cinsSonuc != 'e') //!
System.out.println("hata01"+ alinmadi);
else if (yas > 25)
System.out.println("hata02"+ alinmadi);

nerde hata var falan belli olur en azindan yoksa 5 durumda da aynı sonucu gorursun son halinnde de silersin bunları.
Link to comment
Sosyal ağlarda paylaş

Arkadaşlar yeni ödevim klavyeden girilen bir tam sayıya kadar olan asal sayıları listelemek. Şimdi şöyle bişey buldum;


x=5; (mesela 5 sayısına bakalım)
2^x=32;
32-2=30;
30 mod x =0 ise Asal
30 mod x= 0 Degil ise Asal degil...



Bu yöntem onaylanmış diyorlar. Ama bu yöntemi bu şekilde javada kullanamıyorum üs alma direk yok javada. Fonksiyon oluşturmam lazım. Sonra şunu buldum javada üs alma için;


class usalma
{
public long usal(long us,long taban)
{
long hsp=1;
for(long i=1;i<us+1;i++)
{
hsp=hsp*taban;
}
return hsp;
}
public static void main(String args[])
{
usalma ua=new usalma();
System.out.println (ua.usal(3,5));

}
}


şimdi burda class usalma demiş adam. Class içinde class açılıyor mu? Birde bizim hoca class adları büyük harfle başlamalı diyordu. Class adını büyük harf yapıncada UsAlma ue = kısmı çalışmıyor. Ben nasıl üs alacam javada?

NOT = Sadece üs alma lazım ödevi yapıp eklemeyin lütfen nerde yanlış yaptığımı gösterin ki ödevi anlayarak bitireyim.
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...