从一个 class 获取输入并在现在 class 中使用
Taking input from one class and used in present class
我想在同一个 package.On 这个包中编写两个程序第一个 class 只有输入数据是 present.And 第二个 class 从第一个 class和第2个class上的所有方法都是使用这个输入。
例如:
Package ex;
class A{
public static void main(String args[]){
int a,b,c;
Scanner s = new Scanner(System.in);
System.out.println("Enter a value:");
a=s.next();
System.out.println("Enter b value:");
b=s.next();
}
}
class B extends A{
void Add(){
c=a+b;
System.out.println(C);
}
void Sub(){
c=a-b;
System.out.println(c);
}
}
现在正在创建另一个包并导入这个包:
Package ex2;
import ex.A;
class Addition{
public static void main(String args[]){
A aa = new A();
aa.add();
}
}
在包 ex 上我们有两个 classes,第一个 class 包含输入,第二个 class 包含方法。
在包 ex2 上,我们正在导入包 ex 并创建一个对象,通过使用该对象访问方法。这是行不通的。
我刚试过,我知道这不是程序。你能帮帮我吗
首先,你不需要有两个主要功能,你只需要有一个 JVM 的起点,你添加的那个 class 可以服务。
然后将这些整数 a、b 和 c 传递给扩展它的 A class 或 class B。
您可以在此处阅读有关 java 构造函数的更多信息:
Java Constructor
所以你的 A class 会是这样的:
class A{
int a,b,c;
public A(int a,int b,int c)
{
this.a = a;
this.b = b;
this.c = c;
}
}
class B extends A
{
public B(int a, int b,int c)
{
super(a,b,c);
}
void Add(){
this.c=this.a+this.b;
System.out.println(this.c);
}
void Sub(){
this.c=this.a-this.b;
System.out.println(this.c);
}
然后你可以像上面那样调用加法class。它在 Addition class 中,您将调用 Scanner 方法来获取 a 和 b 的输入。
我找到了解决方案。这是确切的解决方案。但是代码行数很高。我会考虑另一个 way.can 你们帮帮我 这有什么逻辑吗
package org.maths;
import java.util.Scanner;
public class InputData {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y;
Scanner s = new Scanner(System.in);
System.out.println("Enter A:");
x=s.nextInt();
System.out.println("Enter B:");
y=s.nextInt();
Methods mm = new Methods();
mm.add(x, y);
mm.sub(x, y);
}
}
package org.maths;
public class Methods extends InputData {
int z;
public void add(int x, int y){
z=x+y;
System.out.println("Addition of two numbers:"+" "+z);
}
public void sub(int x, int y){
z=x-y;
System.out.println("Substarction of two numbers:"+" "+z);
}
}
package org.ex;
import java.util.Scanner;
import org.maths.*;
public class Ex1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("Akhil");
int x,y;
Scanner s = new Scanner(System.in);
System.out.println("A");
x=s.nextInt();
System.out.println("B");
y=s.nextInt();
Methods m = new Methods();
m.add(x, y);
}
}
我想在同一个 package.On 这个包中编写两个程序第一个 class 只有输入数据是 present.And 第二个 class 从第一个 class和第2个class上的所有方法都是使用这个输入。
例如:
Package ex;
class A{
public static void main(String args[]){
int a,b,c;
Scanner s = new Scanner(System.in);
System.out.println("Enter a value:");
a=s.next();
System.out.println("Enter b value:");
b=s.next();
}
}
class B extends A{
void Add(){
c=a+b;
System.out.println(C);
}
void Sub(){
c=a-b;
System.out.println(c);
}
}
现在正在创建另一个包并导入这个包:
Package ex2;
import ex.A;
class Addition{
public static void main(String args[]){
A aa = new A();
aa.add();
}
}
在包 ex 上我们有两个 classes,第一个 class 包含输入,第二个 class 包含方法。 在包 ex2 上,我们正在导入包 ex 并创建一个对象,通过使用该对象访问方法。这是行不通的。 我刚试过,我知道这不是程序。你能帮帮我吗
首先,你不需要有两个主要功能,你只需要有一个 JVM 的起点,你添加的那个 class 可以服务。
然后将这些整数 a、b 和 c 传递给扩展它的 A class 或 class B。
您可以在此处阅读有关 java 构造函数的更多信息:
Java Constructor
所以你的 A class 会是这样的:
class A{
int a,b,c;
public A(int a,int b,int c)
{
this.a = a;
this.b = b;
this.c = c;
}
}
class B extends A
{
public B(int a, int b,int c)
{
super(a,b,c);
}
void Add(){
this.c=this.a+this.b;
System.out.println(this.c);
}
void Sub(){
this.c=this.a-this.b;
System.out.println(this.c);
}
然后你可以像上面那样调用加法class。它在 Addition class 中,您将调用 Scanner 方法来获取 a 和 b 的输入。
我找到了解决方案。这是确切的解决方案。但是代码行数很高。我会考虑另一个 way.can 你们帮帮我 这有什么逻辑吗
package org.maths;
import java.util.Scanner;
public class InputData {
public static void main(String[] args) {
// TODO Auto-generated method stub
int x,y;
Scanner s = new Scanner(System.in);
System.out.println("Enter A:");
x=s.nextInt();
System.out.println("Enter B:");
y=s.nextInt();
Methods mm = new Methods();
mm.add(x, y);
mm.sub(x, y);
}
}
package org.maths;
public class Methods extends InputData {
int z;
public void add(int x, int y){
z=x+y;
System.out.println("Addition of two numbers:"+" "+z);
}
public void sub(int x, int y){
z=x-y;
System.out.println("Substarction of two numbers:"+" "+z);
}
}
package org.ex;
import java.util.Scanner;
import org.maths.*;
public class Ex1 {
public static void main(String[] args) {
// TODO Auto-generated method stub
//System.out.println("Akhil");
int x,y;
Scanner s = new Scanner(System.in);
System.out.println("A");
x=s.nextInt();
System.out.println("B");
y=s.nextInt();
Methods m = new Methods();
m.add(x, y);
}
}