我在classAccount
中定义了一个变量draw
。它可以很好地执行Account类中定义的提款功能。但是,我希望访问Sav\u acct类中存在的函数interest中的变量值。它将收回的值取为0。如何使用兴趣函数中的函数中的函数的值,以便执行正确的数学运算?
导入java。util。扫描仪;
类别帐户{
String customer_name;
int account_number;
String type_account;
int balance=2500;
double deposit;
双重撤回;
void deposit(){
Scanner sc=new Scanner(System.in);
System.out.println("how much do you want to deposit?");
int amo=sc.nextInt();
deposit= balance+amo;
System.out.println("Your current balance is "+ deposit);
}
作废取款(){
扫描仪sc=新扫描仪(系统英寸);
系统出来println(“您想提取多少?”);
int amo=sc.nextInt();
withdraw=balance-amo;
}
}
类Curr\u acct扩展帐户{
空语句
void penalty(){
if(withdraw<2000&& withdraw>0){
double Service_charge=withdraw-100;
double falling= Service_charge;
System.out.println("Your balance is "+withdraw);
System.out.println("You've been charged a service charge"+" 100" +" due to a below the limit balance");
System.out.println("Your current amount is "+ falling);
}
else if(withdraw<=0){
System.out.println("Your balance is insufficient");
}
else{
System.out.println("Your current balance is "+ withdraw);
}
}
}
class Sav_acct extends Account{
void interest(){
if(withdraw<0){
System.out.println("Your balance is insufficient");
}
else{
double interests;
interests=(1/100)*withdraw;
double total_amount=interests+withdraw;
System.out.println("Your new balance with interest is "+total_amount);
}
}
}
公共类发布{
空语句
公共静态void main(字符串[]参数){
扫描仪sc=新扫描仪(系统英寸);
系统出来println(“输入您的姓名”);
String n=sc.nextLine();
System.out.println("Enter your account type: Savings Account or Current Account");
String t=sc.nextLine();
if("Savings Account".equals(t)){
Sav_acct ac =new Sav_acct();
System.out.println("Do you want to deposit or withdraw amount?");
String d=sc.nextLine();
if("deposit".equals(d)){
ac.deposit();
}
else if("withdraw".equals(d)){
ac.withdrawl();
ac.interest();
}
}
else if("Current Account".equals(t)){
Curr_acct ac =new Curr_acct();
System.out.println("Do you want to deposit or withdraw amount?");
String d=sc.nextLine();
if("deposit".equals(d)){
ac.deposit();
}
else if("withdraw".equals(d)){
ac.withdrawl();
ac.penalty();
}
}
else{
System.out.println("please enter the correct account type as per the options provided on the screen");
}
}
}
不要在变量中使用public static来访问它。使用getter访问类的变量。这是正确的做法。
在您的情况下,删除公共静态
会很好;在帐户
类中
public static double withdraw;
to
double withdraw;
在为帐户
和Sav_acct
类创建对象时,您不会维护任何状态。您正在创建两个不同的对象来完成一项工作。您永远不会在Sav_acct
中获取帐户
的撤回
值,因为两者都是不同的对象。
在为帐户
和Sav_acct
类创建对象时,您没有维护任何状态。您在这里创建了两个不同的对象。您永远不会在Sav_acct
中获得帐户
的撤回
值,因为两者是不同的对象。此外,您还缺少OOPS中继承
的基础知识
由于Sav\u acct是对Account类的扩展,它继承了Account类的所有属性,因此无需创建Account类的对象。相反,创建一个Sav\u acct对象,并使用此对象执行操作;
Account wi = new Account();
wi.withdrawl();
Sav_acct in = new Sav_acct();
in.interest();
到
Sav_acct wi = new Sav_acct();
wi.withdrawl();
wi.interest();
您需要了解继承在OOPS中是如何工作的。请参阅此处
您可以在需要时多次声明对象。例如:-
System.out.println("Enter your account type: Savings Account or Current Account");
String t = sc.nextLine();
if ("Savings Account".equals(t)) {
System.out.println("Do you want to deposit or withdraw amount?");
String d = sc.nextLine();
if ("deposit".equals(d)) {
Account de = new Account(); // creating Account object
de.deposit();
}
else if ("withdraw".equals(d)) {
Account wi = new Account(); // creating Account object again
wi.withdrawl();
Sav_acct in = new Sav_acct();
in.interest();
}
}
在上文中,为什么创建帐户de=新帐户() 分别用于存款和取款,只需在获取帐户类型名称后声明一个对象,并使用它执行各自的工作。
System.out.println("Enter your account type: Savings Account or Current Account");
String t = sc.nextLine();
if ("Savings Account".equals(t)) {
Sav_acct acc = new Sav_acct(); //creating sav_acct object here and use
System.out.println("Do you want to deposit or withdraw amount?");
String d = sc.nextLine();
if ("deposit".equals(d)) {
// Account de = new Account(); no need
acc.deposit();
}
else if ("withdraw".equals(d)) {
//Account wi = new Account(); no need
acc.withdrawl();
//Sav_acct in = new Sav_acct(); no need again
acc.interest();
}
}
在main方法中重新设计您的代码,否则大部分事情都很好
当我在类中声明/初始化变量时(setter和getter)。如何从另一个类更改此值
问题内容: 我想将一个类变量传递给另一个类,并使其成为该类的类变量。在以下情况下我该怎么做? 问题答案: 很难理解您正在问的问题,但这是一个可能的答案: 使B类成为A的子类: 如果重新声明为,则会出现一种情况,其中存在一个可以称为或的属性。(或在任一或刚刚…甚至作为或地方,并有类型和分别。) 如果您无法在和(或,以及一些包含声明的第三类)之间创建直接或子类型关系,那么您很不走运。他们无法共享声明。
我有一个类Main(它具有公共静态void Main(String[]args))和另一个类MyDocument。 Main类中存在一个变量,我想从MyDocument类中的函数alphabetOccurrence()访问该变量。我该怎么做呢?我不想用它作为静态变量。任何修改只能在函数中进行,其余的代码应该保持不变。
问题内容: 我有类似的东西: 现在,我想用另一个JSON结构值替换“我的英语标题” 。 我尝试了: 但这是行不通的。任何人都可以给我提示如何在JSON变量中获取JSON值? 编辑:这是使用Jquery的上下文菜单,但是我在下面的所有解决方案中都遇到了问题,这是时候传递分隔符的字符串了。它不显示分隔符,因为它将字符串而不是仅字符串传递给对象。 例: 问题答案: 解决您的修改。尝试以下
我是java新手,我不知道如何从另一个类访问变量 我正在尝试编写一个代码来发送带有未存储在本地的附件的邮件。我想访问SendMail类中ExcelFile类中编写的变量 如何在另一个类中访问excelFileAsByte并发送邮件而不将其存储在本地。我可以使用addBodyPart和ByteArrayResource将文件添加为附件吗。
我正在做一个新的项目,我试图建立一个货币系统,在那里我可以提取它,以转移到另一个变量(在另一个类)。我在解决这个问题上遇到了一些问题,我对如何编写代码感到非常失望。下面是我想链接的类(我想让“coinsamount”在我做/存款时进入类2“amount” 第2类: