如何在另一个类中使用一个类返回的字符串

时间:2018-11-24 13:49:46

标签: java string

我拥有的是一个能够将字符串转换为另一个字符串的类(Rev)。我试图在另一个类中使用输出(转换后的)字符串。使输出字符串公开不起作用。我也无法从Rev类中调用该方法。我想避免将输出字符串导出到文件中,并再次将其导入以进行另一次转换,因为我敢肯定,还有很多更好的方法可以做到这一点。如您所见,我在Java中还很陌生。任何帮助表示赞赏:)代码如下:

public class Rev {
    public static void main (String[] args){
        String s = "ACGTACCCC";
        char[] reverse = new char[s.length()];
        for (int i = 0; i < reverse.length; i++) {
            switch (s.charAt(i)) {
                case 'A':
                    reverse[i] = 'T';
                    break;
                case 'T':
                    reverse[i] = 'A';
                    break;
                case 'C':
                    reverse[i] = 'G';
                    break;
                case 'G':
                    reverse[i] = 'C';
                    break;
                default: //handle error when invalid char
            }
        }
        s = new String(reverse);
        System.out.println(s);
    }
}

和我想使用s字符串的类(接口)在这里:

public class InterfaceRev {
    public static void main (String []args);
        Rev revObj = new Rev();
        revObj.Rev();
    }

2 个答案:

答案 0 :(得分:1)

使用方法来完成您的任务。 您应该将逻辑包装在为它们赋予有意义名称的方法中。

public class Rev {
public String replaceCharacters(String s){
    char[] reverse = new char[s.length()];
    for (int i = 0; i < reverse.length; i++) {
        switch (s.charAt(i)) {
            case 'A':
                reverse[i] = 'T';
                break;
            case 'T':
                reverse[i] = 'A';
                break;
            case 'C':
                reverse[i] = 'G';
                break;
            case 'G':
                reverse[i] = 'C';
                break;
            default: //handle error when invalid char
        }
    }
    String str = new String(reverse);
    return str;
}
public static void main(String args[]) {
    String s = "ACGTACCCC";
    Rev object = new Rev();
    String newStr = object.replaceCharacters(s);
    System.out.println(newStr); 
}
}

尽管要完成的任务可以通过使用内置的String方法来完成,但这仅是关于如何将代码包装在方法中并使用类的对象访问它们的说明。

答案 1 :(得分:0)

public class Rev {  
    public static String convert(String str) {      
        char[] reverse = new char[str.length()];        
        for (int i = 0; i < reverse.length; i++) {
            switch (str.charAt(i)) {
                case 'A':
                    reverse[i] = 'T';
                    break;
                case 'T':
                    reverse[i] = 'A';
                    break;
                case 'C':
                    reverse[i] = 'G';
                    break;
                case 'G':
                    reverse[i] = 'C';
                    break;
                default: //handle error when invalid char
            }
        }       
        return new String(reverse);       
    }
}

public class InterfaceRev {
    public static void main (String [] args){
        System.out.println(Rev.convert("ACGTACCCC"));
    }
}