• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java- petla while

0 głosów
299 wizyt
pytanie zadane 7 lipca 2017 w Java przez Paweł Celuch Początkujący (420 p.)
Chciałbym zrobić sumowanie elementów. Moment końca sumowania to "=". Ale dodaje mi liczby ANSCI. Jak zmienić by dodawało normalnie?


package g1;

import java.util.Scanner;

public class zad2 {

	public static void main(String[] args) {

		
	zdanie k = new zdanie();
	k.obliczWynik();
	

	}

	
	
	
}


class zdanie{
		
	char liczba(){
		char licz;
	System.out.println("Wypisz liczbe:");
	Scanner number = new Scanner(System.in);
	licz=number.next().charAt(0);
	return licz;
	}
	
	void obliczWynik(){
		
	

		int wynik=0;
		char liczba;
		
		do{
			liczba=liczba();
			int l2= (int)liczba;
			
			wynik = wynik + l2;
			System.out.println(wynik);
			
			
		
		}while(liczba!='=');
		
		System.out.println("Wynik: " + wynik);
	}
}

	
	

 

1 odpowiedź

+2 głosów
odpowiedź 8 lipca 2017 przez PgK Obywatel (1,380 p.)

Tak szczerze powiedziawszy to program jest troche dziwnie skonstruowany. Nie wiem, czy o to Ci chodziło, ale postarałem się napisać wersje która będzie działać mniej więcej w taki sposób jak chciałeś. Jest to napisane bardzo na około i można to zrobić o wiele prościej, ale chciałem to napisać w taki sposób jak ty, tylko w działającej wersji. Jeśli działa inaczej, to sorry nie zrozumiałem zamysłu.
 

 

package zForum;

import java.util.Scanner;

public class zad2 {
 
    public static void main(String[] args) {
 
         
    zdanie k = new zdanie();
    k.obliczWynik();
     
 
    }
 
     
     
     
}
 
 
class zdanie{
         
    String liczba(){
        String licz;
    System.out.println("Wypisz liczbe:");
    Scanner number = new Scanner(System.in);
    licz=number.nextLine();
    return licz;
    }
     
    void obliczWynik(){
         
     
 
        int wynik=0;
        String liczba;
        
        while(true)	// petla, ktora bedzie wykonywac sie w nieskonczonosc
        {
            liczba=liczba();
 
            if(liczba.equals("="))	// sprawdzenie, czy ktos nie wpisal =
            {
            	   System.out.println("Wynik: " + wynik);    
            	   break;	// zakonczenie petli while ktora wykonywala by sie w nieskonczonosc
            }
            int l2= Integer.parseInt(liczba);
            wynik = wynik + l2;

 
            
        }
     
    }
}

 

Podobne pytania

0 głosów
1 odpowiedź 101 wizyt
pytanie zadane 4 grudnia 2019 w Java przez Padoski Użytkownik (990 p.)
0 głosów
1 odpowiedź 69 wizyt
pytanie zadane 26 marca 2020 w PHP przez zOne Początkujący (270 p.)
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 14 marca 2020 w C i C++ przez Deny Nowicjusz (140 p.)

86,460 zapytań

135,216 odpowiedzi

300,377 komentarzy

57,209 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...