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

Java ödevi


SpiderS_DangeR

Öne çıkan mesajlar

Şimdi ödev şu, program da 5 function olucak, para yatırma, çekme, bakiye görüntüleme, son işlem ve çıkış. Her işlemden sonrada işlem menüsüne tekrar dönecek. 2 sorum var: 1. si Para yatırdıktan sonra ana menüye döndüğünde çıkışa ilk basışta olmuyor 3 4 kere girmek gerekiyor çıkış değerini. 2.de son işlemi göstermeyi nasıl yapacağım hakkında bir fikrim yok.

import java.util.Scanner;
public class bank {
static int bakiye=0;
static Scanner sc=new Scanner(System.in);
public static void tercih()
{

System.out.println("Para yüklemek için 1'e basınnPara çekmek için 2'ye basınnBakiye görüntleme için 3'e basınnÇıkış için 5'e basın");
int a;
while(true){
a=sc.nextInt();
if(a==1)
yukleme();

if(a==2)
cekme();

if(a==3)
bakiyegoruntuleme();


if(a==5)
break;
}
}
public static void bakiyegoruntuleme()
{
System.out.println("Kalan bakiyeniz: "+bakiye+" TL");
tercih();
}
public static void yukleme()
{
int n;
System.out.print("Yuklemek istediğiniz miktarı giriniz: ");
n=sc.nextInt();
bakiye=bakiye+n;
System.out.println("İşleminiz başarıyla gerçekleşmiştir.");
bakiyegoruntuleme();
tercih();
}
public static void cekme()
{
int n;
System.out.print("Çekmek istediğiniz miktarı giriniz: ");
n=sc.nextInt();
if(bakiye>=n)
{
bakiye=bakiye-n;
System.out.println("İşleminiz başarıyla gerçekleşmiştir.");
bakiyegoruntuleme();
tercih();
}
else
{
System.out.println("Hesabınızda bu miktarda para bulunmamaktadır.");
tercih();
}
}
public static void main(String[] args) {
tercih();

}

}

Link to comment
Sosyal ağlarda paylaş

main içinde tercih metodunu bir kere çağırıyorsun, while döngüsüne giriyorsun. Sen 5'i seçene kadar o döngü devam ediyor.

Diyelim 1'e bastın ve yukleme metoduna girdin. O metod bittiğinde metodu çağırdığın satırın arkasındana devam edecek zaten. Ama sen yukleme metodunun içinde bir kez daha tercih çağırıp yeni bir döngü daha başlatıyorsun. Aynı şey diğer metodlar için de geçerli. Dolayısıyla da kaç döngü başlattıysan o kadar 5'e basman gerekiyor. Kısacası main haricindeki tercih metod çağrılarını kaldırman lazım.

Onun dışında (kod stili gözümü yorduğu için) detaylara bakmadım.

Edit: Son işlemi göstermek ile kastın ne tam anlamadım. Diyelim adam en son para çekti, son işleme basınca yine para çekme menüsüne mi girecek? Yoksa ne kadar para çekildiğini mi gösterecek? vs vs
Link to comment
Sosyal ağlarda paylaş

Bakiye için int türünden bir değişken tanımlamışsın. İşlem sırasında bakiyeyi değiştiriyorsun. Aynı şekilde son işlemi özetleyen bir String tanımla. Her işlemde o String'in içeriğini değiştirirsin.

Diğer sorun için: while döngüsünü main metoduna kaydır. tercih metodu içinde sadece println'ler kalsın. Sadece "menüyü bastırsın" yani.
Link to comment
Sosyal ağlarda paylaş

Teşkürler sigisMoNd :)

SpiderS_DangeR said:
Tamam çok teşekkür ederim akşam denicem. Bir de java öğrenmeye daha yeni başladım ben anlayabileceğin gibi. Kodları okurken gözüm yoruluyo falan dedin ya, düzenli olarak nasıl yazabilirim ki ?


sigisMoNd'un bahsettiği code yerine quote kullanmışsın. Dolayısıyla kopyaladığın kodda indentation olmasına rağmen mesajında kaybolmuşlar. Ben de code kullandığın halde indentation olmadığını düşündüm ondan dedim. Mesajını değiştirdim, çok kötü de değilmiş. Çok daha beter yazanlar var. :)

Yine de düzenli kod yazmak hakkında detaylı bilgi istersen şuraya http://java.sun.com/docs/codeconv/CodeConventions.pdf bir göz atabilirsin. En azından şöyle bir bakmanı tavsiye ederim. Daha öğrenmediğin kesimleri atla.

Benim ilk gözüme çarpanlar değişken ve fonksiyon isimleri. Kelimelerin ilk harflerini büyük başlatırsan daha rahat okunur. bakiyegoruntuleme yerine bakiyeGoruntuleme mesela. Class isimleri de aynı şekilde, ama ilk onların ilk harfi de büyük oluyor.

Onun dışında satır içimde terimlerin arasında boşluk bırakman daha hoş olur. Öbür türlü çok sıkışık gözüküyor. Mesela

if(bakiye>=n) // sıkışık
if (bakiye >= n) // cillop

// İşler karışınca önemi daha iyi ortaya çıkıyor, şekil 1a:

if(int i=0;i<bakiyegoruntule("str"+n,arg2);godisnowhere()){
if (int i = 0; i < bakiyeGoruntule("str" + n, arg2); godIsNowHere()) {
Link to comment
Sosyal ağlarda paylaş

Hazır konu varken burdan sorayım. Mesela elimizde .art uzantılı dosya var notepad ile açılabiliyo ve düzgün satır satır yazılar çıkıyor. Bu textin içinde şöyle satırlar var "ASE 401195 00 000"
Java ile yazdığımız bir program ile bu satırları testip edip, sayıların arasındaki boşlukları sildirip yeni bir tane .art dosyası oluşturtup onun içine yazdırabiliyor muyuz bu yeni versiyonu? Yani java ile bu mümkün müdür?
Link to comment
Sosyal ağlarda paylaş

×
×
  • Yeni Oluştur...