有两个字符串,String1 = hello String2 = world,我想调用一个Hello类并发送给两个字符串。该类应返回一个布尔值和一个字符串。如果布尔值为true,则应该执行以下操作:
System.out.println("Hello to you too!");
有人可以帮我解决这个问题吗?
答案 0 :(得分: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
比尝试返回一个布尔值更好,或者可能完全是另一个解决方案。
我们拥有的细节越多越好。
答案 1 :(得分: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; }
**/
}
}
当你运行这个程序时,它总是打印“你也好!”,如果你改变s1或s2它将不会打印任何东西。
答案 2 :(得分:-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);
}
}