我想将其他函数中的变量用于类似的数组:
int arg1 = int.Parse(Textbox1.Text);
int arg2 = int.Parse(Textbox2.Text);
int[] array1 = {arg1, arg2};
但它不起作用请帮助
我尝试了更轻松的事情
int arg1 = 0;
int arg2 = 1;
int[] DaneInt = { arg1, arg2};
arg1
和arg2
的错误仍然相同:
字段初始值设定项不能引用非静态字段方法或 属性
答案 0 :(得分:1)
我认为你已将它放在Constructor
之前。在Constructor
之外使用的任何对象初始值设定项都必须引用静态成员。您收到此错误是因为必须先初始化实例,然后才能访问其类的属性。您应该将代码放在Constructor
内。
答案 1 :(得分:0)
正如杰夫在评论中所指出的那样,主要问题(除非你把其他地方搞砸了,唯一的问题)是你可能已经传递了一些非数字字符,这导致了问题。我建议您使用TryParse(),
这样尝试int[] array1 = new int[2]; // Array of 2 elements
int arg1 = int.TryParse(Textbox1.Text, array1[0]); // At zero index
int arg2 = int.TryParse(Textbox2.Text, array1[1]); // At 1 index
这样可行,如果没有,那么你可以用某种方式显示错误信息
if(int.TryParse(Textbox1.Text, array1[0]) {
// Worked
} else {
// Didn't work
}
加号:您的代码中存在区分大小写的问题。控件TextBox有一个字段Text
,而不是text
。这也是您的代码中的一个问题,您应该考虑记住这一点。
修改强>
在你的评论中你提到你得到的错误是,字段初始值设定项不能引用非静态字段方法或属性,这意味着你正在尝试使用这个变量(IMO; Textbox1 )在一个单独的类或窗口中。在这种情况下,你不能按照它的方式使用它,因为它是非静态的。要引用它,请创建一个类实例
var text = new MainWindow().TextBox1.Text;
这将为Window创建一个实例(记住,WPF没有Form,它有一个Window控件),然后它将引用TextBox控件来访问属性Text
。
答案 2 :(得分:-1)
您缺少使用 import java.util.Scanner;
class mmm {
public static void main(String[] args) {
Scanner clavier = new Scanner(System.in);
String name;
String password;
String time;
String adult;
System.out.println("Hello,create your username:\t");
name = clavier.nextLine();
System.out.println("Welkom " + name);
System.out.println("Do you have more than 18 years? (Yes/No)");
//adult = clavier.findWithinHorizon(".", 0).charAt(0);
adult = clavier.nextLine();
if (adult.equalsIgnoreCase("y")) {
System.out.println("you are adult");
} else {
System.exit(0);
}
System.out.println("create your password:\t");
password = clavier.nextLine();
while ((password.length() < 6) || (password.length() > 10)) {
System.out
.println("please create a password between 6 and 10 letters");
password = clavier.nextLine();
}
String password2;
System.out.println("Please write your password again");
password2 = clavier.nextLine();
while (!password2.equals(password)) {
System.out.println("your passwords aren't the same");
password2 = clavier.nextLine();
}
System.out.println("acount create");
}
}
和arg1
创建的数组类型。
像这样添加数组类型:
arg2
它应该有用!