首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

请问怎么实现字符串连接非静态变量

2013-03-10 
请教如何实现字符串连接非静态变量。对于两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。

请教如何实现字符串连接非静态变量。
对于两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单。有人向队员打听比赛的名单。a说他不和x比,c说他不和x,z比,请编程序找出三队赛手的名单。
原来的想法是,做四个字符串,其中前面三个为条件字符串,第四个为动态生成的字符串。通过第四个字符串和前面三个字符串的对比,得出最终结果。执行上述代码,提示无法从静态上下文中引用非静态变量str4。
请教下,如果一个字符串要连接非静态变量,应如何操作。

public class Exer18
{
static char[] m = {'a','b','c'};
static char[] n = {'x','y','z'};
String str1 = "a VS x";
String str2 = "c VS x";
String str3 = "c VS z";
        String str4;
public static void main(String[] args)
{
for (int i = 0; i < m.length; i++)
{
for (int j = 0; j < n.length; j++)
{
str4 = m[i] + " VS " + n[j];
if (str1 == str4 || str2 == str4 || str3 == str4)
{
continue;
}
else
System.out.println(str4);
}
}
}
}

执行上述代码,提示无法从静态上下文中引用非静态变量str4。
[解决办法]
你的那4个字符串都必须是静态变量,加static就ok了
[解决办法]
1.将字符串声明成静态变量
2.使用局部变量,将变量在main里面声明
3.用对象访问自己的成员变量。
[解决办法]
LZ应该用
if (str1.equals(str4) 
[解决办法]
 str2.equals(str4) 
[解决办法]
 str3.equals(str4))

来进行比较
[解决办法]
引用:
你的那4个字符串都必须是静态变量,加static就ok了
+1
[解决办法]
静态方法不能访问非静态成员变量
[解决办法]
如果一个字符串要连接非静态变量

like this:

public class Exer18
{
    static char[] m = {'a','b','c'};
    static char[] n = {'x','y','z'};
    public static void main(String[] args)
    {
    String str1 = "a VS x";
        String str2 = "c VS x";
        String str3 = "c VS z";
        String str4;
        for (int i = 0; i < m.length; i++)
        {
            for (int j = 0; j < n.length; j++)
            {
                str4 = m[i] + " VS " + n[j];
                if (str1 == str4 
------解决方案--------------------


 str2 == str4 
[解决办法]
 str3 == str4)
                {
                    continue;
                }
                else
                    System.out.println(str4);
            }
        }
    }
}

热点排行