我已创建此代码但无法正常运行,我该怎么办? 我希望字符串的内容取决于变量..
if ((euro9 == 0) && (cent9 == 00)) {
String msg1 = "Euro:"+MailA.this.euro1+","+MailA.this.cent1+" "+"Motivazione:"+MailA.this.motivazione+"\n";
String msg3 = "Euro:"+MailA.this.euro3+","+MailA.this.cent3+" "+"Motivazione:"+MailA.this.motivazione2+"\n";
String msg4 = "Euro:"+MailA.this.euro4+","+MailA.this.cent4+" "+"Motivazione:"+MailA.this.motivazione4+"\n";
String msg5 = "Euro:"+MailA.this.euro5+","+MailA.this.cent5+" "+"Motivazione:"+MailA.this.motivazione5+"\n";
String msg6 = "Euro:"+MailA.this.euro6+","+MailA.this.cent6+" "+"Motivazione:"+MailA.this.motivazione6+"\n";
String msg7 = "Euro:"+MailA.this.euro7+","+MailA.this.cent7+" "+"Motivazione:"+MailA.this.motivazione7+"\n";
String msg8 = "Euro:"+MailA.this.euro8+","+MailA.this.cent8+" "+"Motivazione:"+MailA.this.motivazione8+"\n";
String msg9 = "";
}
if ((euro9 != 0) && (cent9 != 00)) {
String msg1 = "Euro:"+MailA.this.euro1+","+MailA.this.cent1+" "+"Motivazione:"+MailA.this.motivazione+"\n";
String msg3 = "Euro:"+MailA.this.euro3+","+MailA.this.cent3+" "+"Motivazione:"+MailA.this.motivazione2+"\n";
String msg4 = "Euro:"+MailA.this.euro4+","+MailA.this.cent4+" "+"Motivazione:"+MailA.this.motivazione4+"\n";
String msg5 = "Euro:"+MailA.this.euro5+","+MailA.this.cent5+" "+"Motivazione:"+MailA.this.motivazione5+"\n";
String msg6 = "Euro:"+MailA.this.euro6+","+MailA.this.cent6+" "+"Motivazione:"+MailA.this.motivazione6+"\n";
String msg7 = "Euro:"+MailA.this.euro7+","+MailA.this.cent7+" "+"Motivazione:"+MailA.this.motivazione7+"\n";
String msg8 = "Euro:"+MailA.this.euro8+","+MailA.this.cent8+" "+"Motivazione:"+MailA.this.motivazione8+"\n";
String msg9 = "Euro:"+MailA.this.euro9+","+MailA.this.cent9+" "+"Motivazione:"+MailA.this.motivazione9+"\n";
}
sh.putExtra(Intent.EXTRA_TEXT, msg1+msg3+msg4+msg5+msg6+msg7+msg8+msg9);
字符串无法调用,为什么?
答案 0 :(得分:2)
如果循环
,则声明字符串(msg1,msg3等)如果只是条件,您正在使用的局部变量的范围可以访问 因为如果条件
你在里面宣布它们答案 1 :(得分:1)
您可能想要这样做:
但是下面的代码是重复的,你应该避免这样做。 请参阅最后的替代
String msg1, msg2, msg3, msg4, msg5, msg6, msg7, msg8, msg9;
if ((euro9 == 0) && (cent9 == 00))
{
msg1 = "Euro:" + MailA.this.euro1 + "," + MailA.this.cent1 + " " + "Motivazione:"
+ MailA.this.motivazione + "\n";
msg3 = "Euro:" + MailA.this.euro3 + "," + MailA.this.cent3 + " " + "Motivazione:"
+ MailA.this.motivazione2 + "\n";
msg4 = "Euro:" + MailA.this.euro4 + "," + MailA.this.cent4 + " " + "Motivazione:"
+ MailA.this.motivazione4 + "\n";
msg5 = "Euro:" + MailA.this.euro5 + "," + MailA.this.cent5 + " " + "Motivazione:"
+ MailA.this.motivazione5 + "\n";
msg6 = "Euro:" + MailA.this.euro6 + "," + MailA.this.cent6 + " " + "Motivazione:"
+ MailA.this.motivazione6 + "\n";
msg7 = "Euro:" + MailA.this.euro7 + "," + MailA.this.cent7 + " " + "Motivazione:"
+ MailA.this.motivazione7 + "\n";
msg8 = "Euro:" + MailA.this.euro8 + "," + MailA.this.cent8 + " " + "Motivazione:"
+ MailA.this.motivazione8 + "\n";
msg9 = "";
}
if ((euro9 != 0) && (cent9 != 00))
{
msg1 = "Euro:" + MailA.this.euro1 + "," + MailA.this.cent1 + " " + "Motivazione:"
+ MailA.this.motivazione + "\n";
msg3 = "Euro:" + MailA.this.euro3 + "," + MailA.this.cent3 + " " + "Motivazione:"
+ MailA.this.motivazione2 + "\n";
msg4 = "Euro:" + MailA.this.euro4 + "," + MailA.this.cent4 + " " + "Motivazione:"
+ MailA.this.motivazione4 + "\n";
msg5 = "Euro:" + MailA.this.euro5 + "," + MailA.this.cent5 + " " + "Motivazione:"
+ MailA.this.motivazione5 + "\n";
msg6 = "Euro:" + MailA.this.euro6 + "," + MailA.this.cent6 + " " + "Motivazione:"
+ MailA.this.motivazione6 + "\n";
msg7 = "Euro:" + MailA.this.euro7 + "," + MailA.this.cent7 + " " + "Motivazione:"
+ MailA.this.motivazione7 + "\n";
msg8 = "Euro:" + MailA.this.euro8 + "," + MailA.this.cent8 + " " + "Motivazione:"
+ MailA.this.motivazione8 + "\n";
msg9 = "Euro:" + MailA.this.euro9 + "," + MailA.this.cent9 + " " + "Motivazione:"
+ MailA.this.motivazione9 + "\n";
}
sh.putExtra(Intent.EXTRA_TEXT, msg1 + msg3 + msg4 + msg5 + msg6 + msg7 + msg8 + msg9);
我强烈建议您采用以下方法,而不是上述方法。
在单独的文件中创建对象
public class MyObject
{
public String euro;
public String cent;
public String motivazione;
public MyObject(String euro, String cent, String motivazione)
{
this.euro = euro;
this.cent = cent;
this.motivazione = motivazione;
}
}
并使用它
// Create an instance of MyObject
MyObject obj = new MyObject("asdad", "fcsfc", "fdsf");
// Initialize a list that will hold all instances
HashMap<Integer, MyObject> list = new HashMap<Integer, MyObject>();
list.put(1, obj);
// OR
list.put(2, new MyObject("aaaaaaaa", "bbbbbbb", "ccccccc"));
// And retrieve your item with
MyObject my = list.get(2);
最后,您可以执行以下操作:
if (condition)
{
for (Map.Entry<Integer, MyObject> entry : list.entrySet())
{
MyObject currentObject = entry.getValue();
msg += "Euro:" + currentObject.euro + "," + currentObject.cent + " " + "Motivazione:"
+ currentObject.motivazione + "\n";
}
}
sh.putExtra(Intent.EXTRA_TEXT, msg);