Я пытаюсь написать программу для изменения букв/слов в введенной строке, я думал, что, наконец, ее получил, но я не могу понять, почему перед моим выходным текстом так много лишних пробелов. Любая помощь будет принята с благодарностью.
Также на стороне заметки я попытался сделать область массива инкрементной переменной, но она не будет работать, однако я могу использовать добавленную переменную для позиции индекса без каких-либо проблем; почему это?
Это то, что у меня есть до сих пор, и похоже, что я делаю именно то, что я хочу, чтобы он делал минус все лишнее белое пространство перед выходом.
Scanner in = new Scanner(System.in);
System.out.println("please enter string");
String strName = in.nextLine();
int ap = 0;
char strArray[] = new char[99];
for(int i=0;i < strName.length();i++)
{
strArray[ap] = strName.charAt(i);
ap++;
}
for (int e=strArray.length-1;e >= 0;e--)
{
System.out.print(strArray[e]);
}
Попробуй это
Scanner in = new Scanner(System.in);
System.out.println("please enter string");
String strName = in.nextLine();
int ap = 0;
char strArray[] = new char[strName.length()];
for(int i=0;i < strName.length();i++)
{
strArray[ap] = strName.charAt(i);
ap++;
}
for (int e=strArray.length-1;e >= 0;e--)
{
System.out.print(strArray[e]);
}
Проблема в том, что вы инициализируете этот массив символов размером до 99. Для строки размера 4... мы должны напечатать 95 нулей, затем 4 символа в обратном порядке. Это будет исправлено путем инициализации массива до фактического размера входной строки. Нет нулей для печати (печать нулей приводит к пробелу).
Also on a side note I attempted to make the scope of the array an incremented variable but it
would not run, however I can use an incremented variable for the index position without any
issues; why is that?
Хммм. Не уверен, что вы имеете в виду? Слово "scope" имеет специфическое значение в CS, о котором я не думаю, это то значение, о котором вы говорите!