2017-02-15 6 views
1

Теперь, я просто простой вопрос о классе клиента ниже, ошибка я получаю, как исправить эту ошибку, и правильно распечатать (this.toString())клиента в Java

import java.io.*; 
import java.util.Scanner; 
public class IndexClient 
{ 
    File file = new File("file.txt"); 
    System.out.println(this.toString()); 
} 

В принципе, я получаю сообщение об ошибке от второй до последней строки, в которой указан идентификатор, ожидаемый прямо перед println и перед первыми круглыми скобками. Почему я получаю эту ошибку, как бы исправить эту ошибку, и как я могу успешно напечатать (this.toString())?

Количество Обновление 1:

Я не уверен, что это совершенно необходимо; Однако, если вам это нужно, метод мой ToString() ниже:

public String toString() 
{ 
    String sb = ""; 
    for (int d = 0; d < words.size(); d++) 
    { 
     sb += "The word: " + words.get(d) + System.lineSeparator(); 
    } 
    return sb; 
} 

Количество Update 2:

Я действительно ценю всю помощь и конструктивную критику кода, который я могу получить. Надеюсь, я не превратил этот простой вопрос в слишком сложный вопрос. Большое спасибо :)

Количество Update 3:

Я извиняюсь за оставляя так много нот. Тем не менее, я просто задавался вопросом, является ли это общим вопросом, который любой из вас, ребята, видит много, потому что кажется, что это очень много в классе, и учитель-ассистент не может ответить на вопрос. Еще раз спасибо :)

+1

'учитель assisstant не может ответить на' вопроса, that's действительно грустно, вещь, которую вы сделали неправильно это программы в вашем классе, но не с помощью метода. бросьте эту линию печати внутри метода, и вы отлично – SomeJavaGuy

ответ

3

Вы не можете использовать:

System.out.println(toString()); 

Out стороне метод, вы можете использовать его внутри метода или вы можете создать свой основной метод:

public void myMethod(){ 
    System.out.println(toString()); 
} 

Или

public static void main(String args[]){ 
    System.out.println(toString()); 
} 
+2

О, боже, я забыл поставить публичную статическую основную строку String [] args. Я настолько тупой –

+0

'this.toString()' не работает в статическом методе. – BetaRide

+0

oops @BetaRide я забыл этот момент, теперь я его редактирую спасибо –

2
  1. Вы не можете иметь код за пределами метода в классе Java.
  2. Вы должны создать объект своего класса для доступа к this.

Правильная минимальная реализация будет выглядеть (взято из Online Java IDE):

import java.lang.Math; // headers MUST be above the first class 

public class HelloWorld 
{ 
    // arguments are passed using the text field below this editor 
    public static void main(String[] args) 
    { 
    OtherClass myObject = new OtherClass("Hello World!"); 
    System.out.print(myObject); 
    } 
} 

// you can add other public classes to this editor in any order 
public class OtherClass 
{ 
    private String message; 
    private boolean answer = false; 
    public OtherClass(String input) 
    { 
    message = "Why, " + input + " Isn't this something?"; 
    } 
    public String toString() 
    { 
    return message; 
    } 
} 
Смежные вопросы