Problem z toCharArray

0

Witam, mam następujące kawałki kodu (nie ważne co robią ale wywala mi błąd 'java.lang.NullPointerException' w pętli for :(

package portret;

import java.io.*;

public class Konsola 
{

	
	public static void main(String[] args) throws IOException 
	{
		Rownanie test = new Rownanie ();
		
		InputStreamReader stdin = new
		InputStreamReader (System.in);
		BufferedReader in = new BufferedReader (stdin);
		
		try 
		{
			System.out.print("Wprowadz ciag1 ");
			test.a=in.readLine();
			System.out.print("Wprowadz ciag2 ");
			test.b=in.readLine();
		}
		
		finally 
		{
		}
		
		test.StringToArray (test.a, test.tab_a);
		test.StringToArray (test.b, test.tab_b);
		test.wypisz(test.tab_a);
		
		
	}

}

a drugi plik z Rownanie jest taki:

package portret;

public class Rownanie 
{
	String a;
	String b;
	char tab_a [];
	char tab_b [];

	// pobiera String oraz tablicę to której ma wpisać znak po znaku
	public void StringToArray (String i, char[] tab)
	{
		tab = i.toCharArray();
	}
	
	public void wypisz (char[] tab)
	{
		for (int i=0; i<tab.length; i++)
		{
			System.out.print(tab[i]);
		}
	}
	
	
	

}

czy może ktoś wie o co biega ?

0

Wyjątkowo idiotyczne (moim zdaniem) powiązania miedzy klasami.


import java.io.*;

public class Konsola
{

       
        public static void main(String[] args) throws IOException
        {
                Rownanie test1 = new Rownanie ();
                Rownanie test2 = new Rownanie ();                
               
                InputStreamReader stdin = new
                InputStreamReader (System.in);
                BufferedReader in = new BufferedReader (stdin);
               
                try
                {
                        System.out.print("Wprowadz ciag1 ");
                        test1.a=in.readLine();
                        System.out.print("Wprowadz ciag2 ");
                        test2.b=in.readLine();
                }
               
                finally
                {
                }
               
                test1.StringToArray ();
                test2.StringToArray ();
                test1.wypisz();
               
               
        }

}

package portret;

public class Rownanie
{
        public String a;
        char tab_a [];

        // pobiera String oraz tablicę to której ma wpisać znak po znaku
        public void StringToArray ()
        {
                tab_a = a.toCharArray();
        }
       
        public void wypisz ()
        {
                for (int i=0; i<tab_a.length; i++)
                {
                        System.out.print(tab_a[i]);
                }
        }
       
       
       

}
0

Dla czego tak myślisz ?? To jeszcze nie skończone kawałki kodu które będą rozbudowywane.

0

W klasie Konsola tworzysz obiekt klasy Rownanie (test), wywołując jego metodę

  test.StringToArray(...);

przekazujesz jako parametry pola obiektu test. Moim zdaniem kompletny idiotyzm, obiekt "zna" swoje pola.
pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1