2010-10-25 2 views
1

имеют две строки, String1 = hello String2 = world, я хочу вызвать класс Hello и отправить две строки. Класс должен возвращать логическое значение и строку. Если логическое значение истинно, оно должно следовать следующему:Как вызвать класс внутри Java

System.out.println("Hello to you too!"); 

Может ли кто-нибудь помочь мне с этим кодом?

+0

, чтобы возвратить как логическое значение, так и строку, которую вам нужно создать для создания объекта. – Orbit

+0

Как это сделать? – Hammer

+0

Сколько учебников/книг вы читали до сих пор? – Bozho

ответ

1

Во-первых, проблема терминологии: вы не можете «вызвать класс». Вы можете называть методы на классе, такие как:

someObject.someMethod(string1, string2); 

Больше к точке, вы не можете вернуть два различных значения из метода. Однако вы могли бы сохранить два разных значения в объекте и вернуть их из разных методов. Может быть, класс, подобный:

public class Foo { 
    protected boolean booleanThing; 
    protected String stringThing; 

    public void yourMethod(String string1, String string2) { 
     // Do processing 
     this.booleanThing = true; 
     this.stringThing = "Bar"; 
    } 
    public String getString() { 
     return this.stringThing; 
    } 
    public boolean getBoolean() { 
     return this.booleanThing; 
    } 
} 

, который будет использоваться как:

someObject.yourMethod(string1, string2); 
boolean b = someObject.getBoolean(); 
String s = someObject.getString(); 

Сказав все это, однако, это может вообще не быть лучшим способом решить актуальную проблему. Возможно, вы можете лучше объяснить, что вы пытаетесь выполнить. Возможно, бросать Exception лучше, чем пытаться вернуть логическое значение, или, может быть, есть еще одно решение.

Чем больше деталей у нас, тем лучше.

0

Вы должны пересмотреть свое определение классов, но теперь я буду считать, что это то, что вы имели в виду, комментарий, если это не то, что ищет:

public class Hello { 
private final String first; 
private final String second; 

public static void main(String[] args) { 
    String s1 = "Hello"; 
    String s2 = "World"; 
    Hello h = new Hello(s1,s2); 
    if(h.isHelloWorld()) { 
     System.out.println("Hello to you too!"); 
    } 
} 
private Hello(String first, String second) { 
    this.first = first; 
    this.second = second; 
} 

private boolean isHelloWorld() { 
    return (first.equals("Hello") && second.equals("World")); 
    //If that scares you then do this instead: 
    /** 
    if(first.equals("Hello") && second.equals("World") { 
     return true; 
    } else { return false; } 
    **/ 
} 
} 

При запуске этой программы она будет всегда print «Привет вам тоже!», если вы измените s1 или s2, он ничего не напечатает.

-2
public class Hello{ 

    boolean val = false; 
    String str = ""; 

    public Hello(String a, String b){ 
    if(a == "hello" && b == "world"){ 
    this.val = true; 
    this.str = "hello to you too"; 
    } 
} 
public static void main(String args[]){ 
    String a = "hello"; 
    String b = "world"; 
    Hello hello = new Hello(a,b); 
    if(hello.val == true) 
     System.out.println(hello.str); 
} 
} 
+0

Вы вводили это в MS Word или что-то в этом роде? Почему капитал 'Public' и' Class'? :) –

+1

э-э ... обвинив его в пирожных. – Orbit

+0

Функция не является ключевым словом в Java ... (-1) –