我希望用户输入小写字母b,并且程序会识别出b是小写字母,然后将其切换为大写字母B。由于在运行时无法编辑字符串,我该如何使用与为了将“名称”分配给“名称2”的主要方法。一旦我尝试在方法更改后打印出“ name2”,编译器就会声称name2尚未初始化,即使它已经在单独的类中也是如此。
我已经尝试将name2初始化为name2="";
,所以编译器不会说“一旦我尝试将name2打印到控制台,就没有初始化name2,但是,您无法在运行时重新定义String。 / p>
import java.util.Scanner;
public class Runner
{
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
String name;
String name2;
TextArguments test1 = new TextArguments();
System.out.println("Please enter a lower case b");
name = input.nextLine();
test1.test(name,name2);
System.out.println(name2);
}
}
public class TextArguments
{
public String test(String name, String name2)
{
if(name == "b")
{
name2 = "B";
}
else
name2 = name;
return name2;
}
}
预期结果:
输入小写字母b。 b B
实际结果:
test1.test(name,name2); ("name2 might have no been initalized")
答案 0 :(得分:-1)
参数是功能的输入。您想要返回字符串,以便可以将其从函数中取出。
使用:
name2 = test1.test(name);
和:
public String test(String name)
{
String name2;
if(name == "b")
{
name2 = "B";
// etc