Java 将信息从一个类拉入另一个类
我对Java非常陌生。对于课堂作业,我需要输入销售人员的姓名和年销售额,然后根据他们50000美元的固定年薪显示他们的总工资。它必须包括两个类 我让Java 将信息从一个类拉入另一个类,java,class,Java,Class,我对Java非常陌生。对于课堂作业,我需要输入销售人员的姓名和年销售额,然后根据他们50000美元的固定年薪显示他们的总工资。它必须包括两个类 我让销售人员班正常工作。Annualwages类运行,但显示“hello null”和“您的总年薪为50000美元”(这只是固定年薪,没有增加销售额) 运行年度工资时,我不知道如何从销售人员中提取信息 package annualwages; import java.util.Scanner; /** @author Rachael */ clas
销售人员
班正常工作。Annualwages
类运行,但显示“hello null”和“您的总年薪为50000美元”(这只是固定年薪,没有增加销售额)
运行年度工资
时,我不知道如何从销售人员
中提取信息
package annualwages;
import java.util.Scanner;
/** @author Rachael */
class salesperson { //begins salesperson class
int annualSales;
String name;
public static void main(String[] args) {
int annualSales;
String name;
// Create a Scanner object to read input.
Scanner keyboard = new Scanner(System. in );
//Get the user's name.
System.out.print("What is your name? ");
name = keyboard.nextLine();
//Get the amount of annual Sales
System.out.print("How much in sales did you make in the last year? ");
annualSales = keyboard.nextInt();
}
} //ends salesperson class
包年工资;
/**
*
*@author笔记本电脑
*/
公营年薪{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args){//开始main方法
/**声明声明*/
最终双佣金=0.15;
//为赚取的佣金设置固定变量
最终双薪=50000;
//设置工资收入的固定变量
最终双倍销售目标=120000;
//设置销售目标的固定变量
双倍总销售额、总工资、实际佣金,加速系数=1.25;
/**
*初始化年销售额、总销售额、总工资、,
*实际佣金和加速系数为双倍。
*将加速度系数设置为增加1.25*/
salesperson sp=新销售人员();
//销售奖励最低起价为96000美元。
//如果少于,则不赚取佣金
if(sp.annualSales 96000)和&(sp.annualSales
在您的salesperson
类中,我会将main
函数中的所有代码移动到构造函数中。就像我在下面所做的。这样可以设置非静态字段,以便正确设置名称
和年度销售
import java.util.Scanner;
public class salesperson {
int annualSales;
String name;
public salesperson(){
// Create a Scanner object to read input.
Scanner keyboard = new Scanner(System.in);
//Get the user's name.
System.out.print("What is your name? ");
name=keyboard.nextLine();
//Get the amount of annual Sales
System.out.print("How much in sales did you make in the last year? ");
annualSales=keyboard.nextInt();
}
}
注意,我从方法中删除了声明name
和annualSales
。
在这之后,年度工资
类中的其余代码应该可以正常工作 这两个字段
int annualSales;
String name;
应使其成为“公开静态”。此外,不应在main方法中再次定义它们
最后,您似乎没有使用IDE。下载“EclipseIDE”以用Java编写代码。这会让你的生活更轻松你必须这样做:
import java.util.Scanner;
class salesperson {
protected int annualSales;
protected String name;
public void saleInformation() {
Scanner keyboard = new Scanner(System.in);
System.out.print("What is your name? ");
name = keyboard.nextLine();
System.out.print("How much in sales did you make in the last year? ");
annualSales = keyboard.nextInt();
}
}
public class Annualwages extends salesperson {
public static void main(String[] args) {
salesperson s = new salesperson();
s.saleInformation();
final double COMMISSION = 0.15;
final double SALARY = 50000;
final double SALESTARGET = 120000;
double totalSales, totalWages, actualCommission, accelFactor = 1.25;
if (s.annualSales <= 96000) {
actualCommission = 0;
} else if ((s.annualSales > 96000) && (s.annualSales < SALESTARGET)) {
actualCommission = COMMISSION;
} else {
actualCommission = COMMISSION * accelFactor;
}
totalSales = s.annualSales * actualCommission;
totalWages = SALARY + totalSales;
System.out.println("Hello " + s.name);
System.out.println("Your total annual compensation is $" + totalWages);
}
}
import java.util.Scanner;
班级销售员{
受保护的国际年度销售;
受保护的字符串名称;
公共信息(){
扫描仪键盘=新扫描仪(System.in);
系统输出打印(“你叫什么名字?”);
name=keyboard.nextLine();
System.out.print(“你去年的销售额是多少?”);
annualSales=keyboard.nextInt();
}
}
公共类销售人员年工资{
公共静态void main(字符串[]args){
销售人员=新销售人员();
s、 销售信息();
最终双佣金=0.15;
最终双薪=50000;
最终双倍销售目标=120000;
双倍总销售额、总工资、实际佣金,加速系数=1.25;
if(s.annualSales 96000)和&(s.annualSales
尝试在它们周围放置一个封装类。然后他们可以共享。另外,您的类存在一些编译问题。在运行代码之前,请按照我们必须使用NetBeans的类说明更正此问题。这就是我用来写这段代码的地方。谢谢你的帮助,非常感谢。这帮了大忙!
import java.util.Scanner;
class salesperson {
protected int annualSales;
protected String name;
public void saleInformation() {
Scanner keyboard = new Scanner(System.in);
System.out.print("What is your name? ");
name = keyboard.nextLine();
System.out.print("How much in sales did you make in the last year? ");
annualSales = keyboard.nextInt();
}
}
public class Annualwages extends salesperson {
public static void main(String[] args) {
salesperson s = new salesperson();
s.saleInformation();
final double COMMISSION = 0.15;
final double SALARY = 50000;
final double SALESTARGET = 120000;
double totalSales, totalWages, actualCommission, accelFactor = 1.25;
if (s.annualSales <= 96000) {
actualCommission = 0;
} else if ((s.annualSales > 96000) && (s.annualSales < SALESTARGET)) {
actualCommission = COMMISSION;
} else {
actualCommission = COMMISSION * accelFactor;
}
totalSales = s.annualSales * actualCommission;
totalWages = SALARY + totalSales;
System.out.println("Hello " + s.name);
System.out.println("Your total annual compensation is $" + totalWages);
}
}