Proste dodawanie ze SPOJ w Javie

Proste dodawanie ze SPOJ w Javie
RI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 50
0
Kopiuj
 
import java.util.*;

public class pierwsze {
public static void main(String[] args)
{
	int wynik = 0, t, h;
	int[] tab = new int[100];
	System.out.println("podaj ilość testów do wykonania");
	Scanner in = new Scanner(System.in);
	int n = in.nextInt();
	for(int i=0; i<n; i++)
	{
		System.out.println("podaj ilosc liczb do dodatnia");
		t = in.nextInt();
		System.out.println("podaj liczby które mają być dodane");
			for(int x=0; x<t; x++)
			{
				h = in.nextInt();
				wynik = wynik+h;
				
			}
	tab[i]=wynik;	
		
	}
	for(int b=0;b<n;b++)
	{
		System.out.println("wynik testu" + tab[b]);
	}
}}

Problem jest taki, że pierwszy wynik podaję tak jak chcę jednak już w drugim dodaje on wartości z pierwszego do drugiego. Nie mam pomysłu jak to zrobić również chciałbym dołożyć na końcu "wynik tekstu nr ... jednak po zapisaniu to w czymś takim System.out.println("wynik testu" + b+1 + tab[b]); nie daje mi oczekiwanych rezultatów.

HA
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 115
1

zauważ, że nie zerujesz nigdzie zmiennej wynik w pętli a tylko raz na początku .
Musisz dodac zerowanie np po przepisaniu wyniku do tablicy:

Kopiuj
    // ...
    tab[i]=wynik;
    wynik = 0;
   // ...

Co do drugiego problemu:

Kopiuj
System.out.println("wynik testu" + b+1 + tab[b]); 

Zapisz zwiekszanie b o jeden w nawiasie:

Kopiuj
System.out.println("wynik tekstu nr " + (b+1) + ": " + tab[b]); 

Wyniki miałeś złe bo sumowane były Stringi wiec zamiast np 4 dostawałeś "31"

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.