Fest Posted November 7, 2009 at 01:01 PM Report Share #295033 Posted November 7, 2009 at 01:01 PM olá eu sou novo aqui e em java (comecei neste início de ano) bem como a qualquer tipo de programação. O meu problema tem haver com um trabalho que apesar e não ser para minha avaliação supostamente segundo o meu professor vai ajudar para avaliações futuras, por isso se não quiserem ajudar pk devia ser eu por mim a fazer eu percebo e peço que não me atirem isso à cara porque já é mt mau eu andar muito tempo (vai fazer hoje 3 dias) que tou a tentar fazer isto e não consigo. O meu professor deu nos duas classes; 1) public class BoardTester { public static void main(String[] args) { char[][] config = { {'~','~','2','2','~'}, {'~','1','~','~','~'}, {'~','~','3','~','2'}, {'~','~','3','~','2'} }; Board board1 = new Board(config); // a) System.out.println(board1); // b) System.out.println(); char[][] state = { {'.','.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.','.'}, {'.','~','~','~','.','~','.','.','.','.'}, {'.','.','.','.','.','X','.','.','.','.'}, {'.','.','.','X','.','.','.','.','.','.'}, {'.','.','.','X','.','.','.','.','.','.'}, {'.','.','.','X','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','~','.','.'}, {'.','.','.','.','.','.','.','.','.','.'}, {'.','.','.','.','.','.','.','.','.','X'} }; Board board2 = new Board(state); // a) System.out.println(board2.getBoardText()); // c) } } 2) import org.junit.runner.RunWith; import pt.iscte.dcti.ip.tests.p0.BoardTest; @RunWith(BoardTest.class) public class Board { } O objectivo será: a) A classe tem que definir um método construtor public Board(char[][] board), onde a matriz board contém o estado do tabuleiro. O primeiro índice da matriz corresponde às linhas do tabuleiro, enquanto o segundo índice da matriz corresponde às colunas do tabuleiro. Por exemplo, o seguinte pedaço de código deverá construir um tabuleiro com 7 linhas e 10 colunas: char[][] boardContent = new char[7][10]; Board board = new Board(boardContent); b) A classe tem que definir um método public String toString() , o qual devolve uma String que representa textualmente o conteúdo do tabuleiro de acordo com a Figura 3 do enunciado do TF. Para um tabuleiro de 7 x 10 o método devolveria, por exemplo: ~ X ~ . . ~ . . . . . . . . . X . . . . . . . . . X . . . . . . . . . . ~ . . . . . . . . . X . . . . . . . . . ~ . . . . . . . . . . . . . Nota: Para incluir uma mudança de linha numa String concatene um separador (em Windows será igual a"\r\n", em Linux apenas "\n"), como no exemplo seguinte: String separator = System.getProperty("line.separator"); String s = ". . ." + separator + ". X ." + separator + ". . ." ; System.out.println(s); c) A classe tem que definir um método public String getBoardText(), que devolve uma String que representa textualmente o tabuleiro de acordo com a interface apresentada na Figura 1 do enunciado do TF. Por exemplo, para o tabuleiro apresentado no ponto anterior, o método devolveria: 1 2 3 4 5 6 7 8 9 10 A ~ X ~ . . ~ . . . . B . . . . . X . . . . C . . . . . X . . . . D . . . . . . ~ . . . E . . . . . . X . . . F . . . . . . ~ . . . G . . . . . . . . . . Em conjunto com o enunciado é fornecido um teste (BoardTester.java) que deve usar para verificar se o seu programa está a funcionar correctamente. Pode ainda, com a classe Board.java no editor central, seleccionar a janela do editor com o botão direito do rato e fazer Run As/JUnit Test para obter um relatório de alguns dos testes que serão usados na correcção do trabalho (poderão ser acrescentados outros testes). Peço que pelo menos me ajudem a fazer o a) pois eu quero ver se consigo fazer o b) e c) por mim Peço também desculpa pelo tamanho disto e agradeço imenso a todos os que se derem ao trabalho de ler e agradeço ainda mais a quem se der também ao trabalho de me responder, Link to comment Share on other sites More sharing options...
Fest Posted November 8, 2009 at 12:09 PM Author Report Share #295123 Posted November 8, 2009 at 12:09 PM olá, provavelmente ainda ninguem respondeu porque pronto XD, sou eu que tenho de fazer. Acontece que eu andei a tentar e a procurar na net coisas e escrevi a segunda uma resposta para a segunda classe, axu k funciona(pelo menos quando corro ele mostra as matrizes da primeira classe mas com coisas que eu não conheço) Aqui tá a classe 2 com coisas que eu escrevi: import org.junit.runner.RunWith; /*@RunWith(BoardTest.class)*/ public class Board { private int l; private int c; public Board(char[][] board) { for(int i = 0; i != board.length; i++){ System.out.println(); for(int j = 0; j != board[i].length; j++){ System.out.print(board[i][j] + " "); } } System.out.println(); // TODO Auto-generated constructor stub } //n liguem a partir daki pk é para o resto do problema i eu ainda tou a pensar como fazer public String toString() public char[] getBoardText() { // TODO Auto-generated method stub return null; } } O que eu obtenho quando corro isto é: ~ ~ 2 2 ~ ~ 1 ~ ~ ~ ~ ~ 3 ~ 2 ~ ~ 3 ~ 2 Board@19821f . . . . . . . . . . . . . . . . . . . . . ~ ~ ~ . ~ . . . . . . . . . X . . . . . . . X . . . . . . . . . X . . . . . . . . . X . . . . . . . . . . . . . ~ . . . . . . . . . . . . . . . . . . . . . X Exception in thread "main" java.lang.NullPointerException at java.io.Writer.write(Unknown Source) at java.io.PrintStream.write(Unknown Source) at java.io.PrintStream.print(Unknown Source) at java.io.PrintStream.println(Unknown Source) at BoardTester.main(BoardTester.java:32) Agradecia muito que m pudessem explicar o que é Board@19821f e pk recebo um exception in thread "main"java.lang.nullPointerException mais uma vez agradeço a kerm ker k se de ao trabalho de simplesmente olhar pa isto i ainda mais a kem m puder ajudar nem k seja so com dicas, Link to comment Share on other sites More sharing options...
Rui Carlos Posted November 11, 2009 at 12:50 PM Report Share #295562 Posted November 11, 2009 at 12:50 PM Em System.out.println(board1); a aplicação não sabe como converter o board1 para uma string, de modo a que possa imprimir no ecrã o conteúdo da variável. Em princípio, basta implementares o método toString na classe Board e tens esse problema resolvido. Já agora, evita meter aqui enunciados de problemas/trabalhos enormes. Se colocares apenas dúvidas concretas (mais pequenas), aumentas a probabilidade de obteres ajuda. Rui Carlos Gonçalves Link to comment Share on other sites More sharing options...
Fest Posted November 11, 2009 at 05:44 PM Author Report Share #295618 Posted November 11, 2009 at 05:44 PM ok thx pela dica e desculpa pelo enunciado...não volta a acontecer... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now