我目前正在创建一个非常简单的银行帐户程序:用户输入帐户持有人姓名,帐号和期初余额,然后按"继续"按钮通过存款和取款来使用该帐户.我写了一个单独的BankAccount类,其中包含所需的数据成员和方法.我在Continue按钮单击事件中放置了创建BankAccount对象的代码
BankAccount currentAccount = new BankAccount(acctName, acctNum, beginningBalance);
Run Code Online (Sandbox Code Playgroud)
但这似乎只使它成为该方法的本地,并且currentAccount在我为"记录交易"(存款和取款)按钮编写点击事件时无法识别.
设置BankAccount对象的方式和位置,以便在单击"继续"按钮并在"记录事务"按钮单击事件中识别时创建它?如果需要澄清,或者您需要查看我的部分或全部代码,请告知我们.
结构指针的成员变量返回错误的数字.
这是结构声明:
struct Obj {
int val;
Obj(int val) { val = val; }
};
Run Code Online (Sandbox Code Playgroud)
这是它变得时髦的地方:
Obj* cool = new Obj(4);
cout << cool->val; // outputs a number that's not 4
cout << (cool->val == 4); // prints 0... interesting
Run Code Online (Sandbox Code Playgroud) 谁能解释为什么这在 Objective-C 中有效?我希望它给出一个错误,因为一个对象被分配给一个 int 变量。我知道它确实有效,这很棒,但我想知道为什么允许这样做?
int i = [NSNumber numberWithInt:123];
Run Code Online (Sandbox Code Playgroud)
此外,这似乎存储了错误的值(即,在我的系统上,当我使用 NSLog 打印出“i”的值时,我得到的是“252711”而不是 123);但是,只有在我的主代码中声明和分配变量时。如果我将其声明为对象的实例变量,然后使用键值编码为其赋值,则它可以正常工作:
对象实例变量...
@interface myObject : NSObject
{
int anInt;
}
Run Code Online (Sandbox Code Playgroud)
主要代码...
[myObject setValue:[NSNumber numberWithInt:123] forKey:@"anInt"];
NSLog(@"%@", [myObject valueForKey:@"anInt"]);
Run Code Online (Sandbox Code Playgroud)
这段代码按预期打印出“123”,但我不确定为什么在使用上面看似相似的方法时它无法正常工作。
我正在构建一个 Ruby 对象,该对象在其initialize方法中具有默认参数:
attr_accessor :one, :two, :three
def initialize(one: nil, two: nil, three: nil)
@one = one
@two = two
@three = three
end
Run Code Online (Sandbox Code Playgroud)
正如您所看到的,这不是很 DRY,尤其是随着可初始化变量的数量增加。最终,我希望能够遍历每个参数并分配一个实例变量(splat 运算符和instance_variable_set?
我有一个带有实例变量的类,我想在循环中使用类方法修改,我正在做的简化版本:
class Example:
def __init__(self,x,z):
self.x=x
self.z=z
def run(self,y):
temp_list=[self.x, self.z]
for ind,item in enumerate(temp_list):
temp_list[ind] = temp_list[ind]+y
print (self.x, self.z)
ex = Example(5,6)
ex.run(5)
Run Code Online (Sandbox Code Playgroud)
我得到的输出是[5,6]而不是所需的[10,11].我想知道是否有人能指出我为何会发生这种情况的解释?
我正在完成基础编程课程,但我无法理解类变量和实例变量(静态和非静态)之间的区别。我需要在代码中确定两者之间的区别
\n\nClass StudentDetails\n{\nInt rollNumber;\nString studentName;\n}\nStudentDetails firststudent= StudentDetails (19236, \xe2\x80\x9dThomas\xe2\x80\x9d);\nRun Code Online (Sandbox Code Playgroud)\n\n我相信 rollNumber、studentName、19236 和“Thomas”都是实例变量,firststudent 是类变量。
\n\n任何有关这方面的帮助将不胜感激,因为课程材料不是很有帮助。
\n这是我的代码。
class Repository(context: Context) {
// Can access 'context' from here
val mSharedPrefsProperties = context
.getSharedPreferences(context.packageName.plus(".properties"), Context.MODE_PRIVATE)
// Can't access 'context' in this function (unresolved reference: context)
private fun getApiKey(): String {
val apiKeys = context.resources.getStringArray(R.array.api_keys)
val random = Random().nextInt(apiKeys.size)
return apiKeys[random]
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法从函数内部的构造函数访问属性,还是需要将它们设为实例/局部变量?
我只是弄清楚实例变量是如何工作的,但它让我有些奇怪.
public class DrumKit {
boolean topHat = true;
boolean snare = true;
void playTopHat() {
System.out.println("ding ding da-ding");
}
void playSnare(){
System.out.println("bang bang ba-bang");
}
}
public class DrumKitTestDrive {
public static void main(String [] args) {
DrumKit d = new DrumKit();
d.playSnare();
d.snare = false;
d.playTopHat();
if (d.snare == true);{
d.playSnare();
}
}
}
Run Code Online (Sandbox Code Playgroud)
怎么可能输出:"bang bang ba-bang ding ding ding dang bang bang ba-bang"
而不是:"砰砰砰砰砰砰哒哒哒"
因为我认为圈套只会播放一次,因为我在d.playSnare()之后声明了它; 到d.snare = false;
我有一个Menu类,其方法显示菜单,存储然后返回用户所做的选择.
public class Menu {
public static int menuSelect(){
Scanner input = new Scanner(System.in);
System.out.println("Hello, Please Select A Function: ");
System.out.println("1) Sort All Banks Alphabetically ");
System.out.println("2) Calculate Interest And Show Balance ");
System.out.println("3) Transfer Money ");
System.out.println("4) Exit ");
int Select = input.nextInt();
return Select;
}
}
Run Code Online (Sandbox Code Playgroud)
我想在我的main方法中使用返回值,但我不确定如何.我在主要方法中提出了一个对象:
Menu menuObject = new Menu();
Run Code Online (Sandbox Code Playgroud)
并添加:
Menu.menuSelect();
Run Code Online (Sandbox Code Playgroud)
我知道菜单运行但我希望从主类中的变量中返回选择返回值.任何帮助将非常感激.
所以我正在测试一些代码,他们在这里:
public class Phone {
String phoneNumber = "1234";
void setNumber(){
String phoneNumber;
phoneNumber = "4321";
}
}
public class TestPhone {
public static void main(String[] args) {
// TODO Auto-generated method stub
Phone p1 = new Phone();
p1.setNumber();
System.out.println(p1.phoneNumber);
}
}
Run Code Online (Sandbox Code Playgroud)
输出:
1234
为什么不4321呢?我叫setNumber所以phoneNumber应该分配给4321,我缺少什么?