2011-03-30 12 views
0

right.GetText();에서 생성되는 오류를 찾을 수 없습니다. 바닥 근처에. 오류는 위의 제목입니다. 내가 읽은 것부터 Java로 멤버 변수를 초기화해야하기 때문에 아무 것도 쓸모가 없어 보였다. 나는 내 기본 생성자에서 모든 것을 올바르게 수행했다고 생각하지만 잘못된 것일 수 있습니다.이 첫 번째 Java 프로그램입니다. 도움을 주셔서 감사합니다, 나는 단지 이것에 또 다른 시간을 보내고 싶지 않아요.개체 변수가 초기화되지 않았을 수 있습니다.

import java.io.*; 
import java.lang.*; 

//class Shapes 
//{ 
    class Triangle 
    { 
     private int rowNum; 
     private String text; 

     Triangle() { 
      rowNum=0; 
      text=""; 
     } 

     public void GetText() 
     { 
      int flag=0; 
      String trialText=""; 

      while(flag==0){ 
       BufferedReader reader= new BufferedReader(new InputStreamReader(System.in)); 

       System.out.println("\nPlease enter a word to display in the triangle(ie bob, tom, etc.)"); 

       try{ 
        trialText = reader.readLine(); 
        System.out.println("Your entered "+ trialText); //print the data entered by the user 
       } 
       catch (IOException ioe){ //statement to execute if an input/output exception occurs 
        System.out.println("An unexpected error occured."); 
        continue; 
       } 

       char[] newText=trialText.toCharArray(); 

       for(int i=0;i<trialText.length();i++){ 
        if(!Character.isLetter(newText[i])){ 
         System.out.println(newText[i]+"is not a letter, please enter a real word."); 
         flag=0; 
         break; 
        } 

       flag=1; 
       } 

      }//While(flag==0) 
      text=trialText; 
      text=text.toLowerCase();  //Converting all input text to Lower Case 
     } 

     public void ShowText() 
     { 
      System.out.println(text); 
     } 

     public void ShowRowNum() 
     { 
      System.out.println(rowNum); 
     } 
     /* 
     public boolean testText(String new_Text) 
     { 
      try{ 
       String trialText = new_Text; 
       System.out.println("You entered "+trialText); //print the data entered by the user 
      } 
      catch (IOException ioe){ //statement to execute if an input/output exception occurs 
       System.out.println("An unexpected error occured."); 
       return false; 
      } 
      return true; 

     } 
     */ 
     public boolean testRowNum(String new_Text) 
     { 
      try{ 
       Integer.parseInt(new_Text); 
       System.out.println("You entered "+ new_Text); //print the data entered by the user 
      } 
      catch (NumberFormatException nfe){ //statement to execute if an input/output exception occurs 
       System.out.println("You have entered a non-integer. "); 
       return false; 
      } 
      return true; 
     } 
     public void GetRows() 
     { 
      System.out.println("Please enter the number of rows the triangle will contain"); 

      BufferedReader newRow= new BufferedReader(new InputStreamReader(System.in)); 
      try{ 
       if(testRowNum(newRow.readLine().trim())==true) 
        rowNum=Integer.parseInt(newRow.readLine().trim()); 
      } 
      catch (IOException ioe) {//statement to execute if an input/output exception occurs 
      System.out.println("You have entered a non-integer. "); 
      } 
     } 

     public void DisplayTriangle() 
     { 
      int numSpaces=0; 
      String spaces=""; 
      String bricks=""; 

      for(int i=0; i<rowNum; i++){ 
       if(rowNum%2==0) 
        numSpaces=(rowNum/2); 
       else if(rowNum%2==1) 
        numSpaces=((rowNum/2)-1); 
       for(int j=numSpaces; j>0; j--){ 
        spaces=spaces+" "; 
       } 

       for(int k=0; k<rowNum; k++){ 
        bricks=bricks+"="; 
       } 

       System.out.println(spaces+bricks); 
      } 
     } 

     public static void main(String args[]) 
     { 
      Triangle right; 

      right.GetText(); 
      right.GetRows(); 
      right.ShowText(); 
      right.ShowRowNum(); 
      right.DisplayTriangle(); 
     } 
    } 
//} 

답변

2

UR의 주요 FN이 밖으로 시도 :

Triangle right = new Triangle(); 

을이보십시오 Triangle

+0

삼각형이 맞습니까? C++에서만 작동합니까? – ChadM

+0

LOL UR 질문이'C++ '에 없었기 때문에 내 대답을 시도한 다음 다시 돌아올 수 있습니다. (예/아니오/때로는 상황에 따라 다름) – Neal

+0

그건 수치 스럽습니다. – ChadM

0

를 초기화해야합니다 : 그것은 있었다 전에 right 전화를 시도

public static void main(String args[]) 
     { 
      Triangle right = new Triangle(); 

      right.GetText(); 
      right.GetRows(); 
      right.ShowText(); 
      right.ShowRowNum(); 
      right.DisplayTriangle(); 
     } 

을 그 안에있는 어떤 것, 그것은 단지 선언되었습니다.

관련 문제