Java 是否将字符转换为字符串(不带数组)?

Java 是否将字符转换为字符串(不带数组)?,java,string,char,converter,Java,String,Char,Converter,我需要将一组字符转换为字符串。问题是,我不知道如何在没有数组的情况下完成(禁止使用它们,因为我们还没有看到这个主题的主题) 因此,该方法首先要求用户键入一个单词(字符串类型)。在本例中,我使用单词“programma”作为示例。第一步是对该单词的每个字符进行+4计数。在本例中,它必须从“programma”-->“tvskveqqe”更改 我将输入字符串“programma”拆分为单独的字符,并在alfabet中添加+4。之后,我确保如果使用了字母“wxyz”,它们将转换为w-->a、x-->b

我需要将一组字符转换为字符串。问题是,我不知道如何在没有数组的情况下完成(禁止使用它们,因为我们还没有看到这个主题的主题)

因此,该方法首先要求用户键入一个单词(字符串类型)。在本例中,我使用单词“programma”作为示例。第一步是对该单词的每个字符进行+4计数。在本例中,它必须从“programma”-->“tvskveqqe”更改

我将输入字符串“programma”拆分为单独的字符,并在alfabet中添加+4。之后,我确保如果使用了字母“wxyz”,它们将转换为w-->a、x-->b、y-->c和z-->d

但现在我被困在了这个部分,我需要把chars't'v'k'v'e'q'q'e'放入一个字符串“tvskveqqe”中,并用它作为返回语句

谢谢

    public char coderen() {
    String str; //input string
    char c, e = ' ';
    int a = 4, b, d;

    System.out.println("Geef een woord in: "); 
    str = Input.readString(); //input

    for (int i = 0; i < str.length(); i++) { // Splits up the string into separate chars
        b = (int) str.charAt(i) + a; // +4 in ASCII
        c = (char) b;

        if (c >= 'e' && c <= 'z') {
            e = c;
            System.out.println(e);
        }
        else if (c >= '{' && c <= '~') { // converts 'w''x''y''z' into 'a''b''c''d'
            d = (int)c - 26;
            e = (char) d;
            System.out.println(e);
        }
        else {
            System.out.println("fout!");
        }
    }
    return e;
}
public char coderen(){
String str;//输入字符串
字符c,e='';
int a=4,b,d;
System.out.println(“geefeen-woord-in:”);
str=Input.readString();//输入
for(int i=0;i如果(c>='e'&&c='{'&&c试试这个。你会明白的。它不使用任何数组

public static void main(String[] args) throws Exception {
    char ch = 'a';
    String s = ch + "";
    for (int i=1; i<=10; i++){
        s += (char)(ch + i);
    }
    System.out.println(s);      
}
publicstaticvoidmain(字符串[]args)引发异常{
char ch='a';
字符串s=ch+“”;

对于(int i=1;i有点奇怪,您不应该使用数组,因为最终字符串总是表示为字符数组,因此您可能会争辩说,您应用的任何方法都是“使用数组”

话虽如此,您可以尝试不同的方法:

使用StringBuilder:

StringBuilder sb = new StringBuilder();
for .... { sb.appendChar(c); }
使用字符串连接:

String result = "";
for .... { result = result + c; }
使用字符串替换:(但这不是基于索引,而是基于匹配字符):


for(char c='a';c您有多种方法来实现它

例如,有
String.concat()

String str = "";
str.concat(new String(myChar));
实际上,这和做同样的事

str += mychar;
但一般来说,这是一种不好的做法,因为它们会消耗内存,而在这里你会创建很多内存

您可以使用的最佳方法是:

作为旁注,我想说的是,如果您使用的是
String
,那么实际上您使用的是char数组。
String
char[]
结构的包装类:

public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
    ...
公共最终类字符串
实现java.io.Serializable、Comparable、CharSequence{
/**该值用于字符存储*/
私有最终字符值[];
...

使用它处理起来会很有趣。不使用if和else,您可以计算正确的字符:int ascii=(int)str.charAt(i);int substituteAscii=(ascii-97+4)%27;//ascii值'a'==97
StringBuilder builder = new StringBuilder();
builder.append(myChar1);
builder.append(myChar2);
...
builder.toString();
public final class String
    implements java.io.Serializable, Comparable<String>, CharSequence {
    /** The value is used for character storage. */
    private final char value[];
    ...