Java with/without return 用户输入中的方法,简单但对编程来说是新手
Methods in Java with/without return user input, Simple but new to programming
- 允许用户输入两个整数a和b。有两种方法,称为 sum 和 product,当它们与输入 a 和 b 一起使用时,它们 return 它们的和和乘积。
- 另一部分允许用户输入 3 个实数 a b 和 c。使用判别法(输入 a(!=0),b,c)到 return D=b^2-4ac 的值。如果 a=0,则判别式和根不存在。程序应输出以下内容:
- 您输入了 a=..., b=..., c=...
- 二次方程为axx+bx+c=0
- 判别式为D=...{D使用公式D=b*b-4*a*c计算}
在程序主体内,使用条件语句检查以下内容:
- 如果 D 是正数,则调用方法 TwoRoots 来 return 根的两个值
根的输出是
x1=-b+Sqr D/2a 和 x1=-b-Sqr D/2a
- 如果 D 为负输出则无实根
我做了第一部分,但没有用。这是我第一次使用方法,有点混乱,我只知道如何在没有用户输入的情况下使用它们。但是我需要用户输入。
这些是我尝试过的代码:第一个代码是 with return 方法,第二个代码是没有 return 方法。
class quadratics1 {
int a,b;
String input1=JOptionPane.showInputDialog("Please enter an integer");
a=Integer.parseInt(input1);
String input2=JOptionPane.showInputDialog("Please enter another integer");
b=Integer.parseInt(input2);
int sum1(int L, int W){
int sum=(L+W);
return sum;
}
int product1(int L, int W){
int product=2*(L+W);
return product;
}
public static void main(String str[]){
quadratics1 m = new quadratics1();
System.out.println(a+" " + b+ " " + m.sum1(a,b));
System.out.println(a+" " + b+ " " + m.product1(a,b));
}
}
我得到的错误是:第 4 行和第 6 行中变量 a 和 b 的预期标识符
我也试过这个:
import javax.swing.*;
class quadratics1{
void sum(int L, int W){
int sum1=(L+W);
System.out.println(a+" " + b+ " " + m.sum1(L,W));
}
void product(int L, int W){
int product1=2*(L+W);
System.out.println(a+" " + b+ " " + m.product1(L,W));
}
public static void main(String str[]){
int a,b;
quadratics1 m = new quadratics1();
String input1=JOptionPane.showInputDialog("Please enter an integer");
a=Integer.parseInt(input1);
String input2=JOptionPane.showInputDialog("Please enter another integer");
b=Integer.parseInt(input2);
}
}
我不知道我做错了什么,我得到了变量错误。任何帮助将不胜感激。几天来我一直在努力解决这个问题。我是编码新手,我必须在明天之前完成这项工作
对于第二部分,我为方程式编写了这段代码,但我不知道如何将其变成方法。
double a, b, c,d,r,rr;
String input1 = JOptionPane.showInputDialog("Please, enter the first real number");
a = Double.valueOf(input1).doubleValue();
String input2 = JOptionPane.showInputDialog("Please, enter the second real number");
b = Double.valueOf(input2).doubleValue();
String input3 = JOptionPane.showInputDialog("Please, enter the third real number");
c = Double.valueOf(input3).doubleValue();
d= Math.pow(b,2) - 4*a*c;
d = Math.round(d*100)/100.0;
r= (-b + Math.sqrt(Math.pow(b,2) - (4*a*c)))/(2*a);
r = Math.round(r*100)/100.0;
rr= (-b - Math.sqrt(Math.pow(b,2) - (4*a*c)))/(2*a);
rr = Math.round(rr*100)/100.0;
System.out.println("You have entered a = " + a + " b = " + b + " c = " + c);
System.out.println("The quadratic equation is " + a + "x^2 " + b + "x " + c + " = 0" );
System.out.println("The discriminant is D= " + d + " D is calculated using the formula D= " + b + "^2 " + " - 4" + "("+ a + ")" + "("+ c + ")");
System.out.println("The roots are " + r + " and " + rr);
好吧,对于第二部分,我选择在 class 的方法中使用您的代码,并在 main 中调用另一个 class 的实例。
这是代码
package Whosebug;
import javax.swing.JOptionPane;
class Discriminant{
public double Discriminant(){
double a, b, c,d;
float e,r,rr;
String input1 = JOptionPane.showInputDialog("Please, enter the first real number");
a = Double.valueOf(input1).doubleValue();
String input2 = JOptionPane.showInputDialog("Please, enter the second real number");
b = Double.valueOf(input2).doubleValue();
String input3 = JOptionPane.showInputDialog("Please, enter the third real number");
c = Double.valueOf(input3).doubleValue();
d= Math.pow(b,2) - 4*a*c;
d = Math.round(d*100)/100.0;
e=(float) Math.sqrt(d);
r= (float) ((b*(-1) + e)/(2*a));
r = (float) (Math.round(r*100)/100.0);
rr= (float) ((b*(-1) - e)/(2*a));
rr = (float) (Math.round(rr*100)/100.0);
System.out.println("You have entered a = " + a + " b = " + b + " c = " + c);
System.out.println("The quadratic equation is " + a + "x^2 " + b + "x " + c + " = 0" );
System.out.println("The discriminant is D= " + d + " D is calculated using the formula D= " + b + "^2 " + " - 4" + "("+ a + ")" + "("+ c + ")");
if (d>0){
System.out.println("The roots are " + r + " and " + rr);
}
else if (d<0){
System.out.print("There r not roots.");
}
return d;
}
}
还有 class 与调用实例的 main :
package Whosebug;
public class test {
public static void main(String[] args) {
double dis=0;
Discriminant a=new Discriminant();
dis=a.Discriminant();
System.out.print("\n\n\n The discriminant is" + dis);
}}
我希望 "i dont know how to make it into a method" 你的意思是这样的。
这是我的 Java help.Now 我必须修复根 x1=[b*(-1)+sqrD]/2*a 和 x2=[b*(-1)-sqrD]/2 *一个
我们还忘记了当 Discriminant 为负时,没有根。
我还修复了根(你需要 d,r,rr 作为浮点数)并且我添加了如果 statement.Now if D<0 ,用户会收到一条消息,如果 D>0 打印根,则没有根。
这里是第一个 part.A 几个改动。
package Whosebug;
import javax.swing.JOptionPane;
class quadratics {
int sum1(int L, int W){
int sum=(L+W);
return sum;
}
int product1(int L, int W){
int product=2*(L+W);
return product;
}
public static void main(String str[]){
String input1=JOptionPane.showInputDialog("Please enter an integer");
int a=Integer.parseInt(input1); //Declaration and put value in the same statement.
String input2=JOptionPane.showInputDialog("Please enter another integer");
int b=Integer.parseInt(input2);//Declaration and put value in the same statement.
quadratics m = new quadratics();
System.out.println(a+" " + b+ " " + m.sum1(a,b));
System.out.println(a+" " + b+ " " + m.product1(a,b));
}
}
请记住,您必须根据要保存它们的文件夹或包来修复第一行(包)。
- 允许用户输入两个整数a和b。有两种方法,称为 sum 和 product,当它们与输入 a 和 b 一起使用时,它们 return 它们的和和乘积。
- 另一部分允许用户输入 3 个实数 a b 和 c。使用判别法(输入 a(!=0),b,c)到 return D=b^2-4ac 的值。如果 a=0,则判别式和根不存在。程序应输出以下内容:
- 您输入了 a=..., b=..., c=...
- 二次方程为axx+bx+c=0
- 判别式为D=...{D使用公式D=b*b-4*a*c计算}
在程序主体内,使用条件语句检查以下内容:
- 如果 D 是正数,则调用方法 TwoRoots 来 return 根的两个值
根的输出是 x1=-b+Sqr D/2a 和 x1=-b-Sqr D/2a
- 如果 D 为负输出则无实根
我做了第一部分,但没有用。这是我第一次使用方法,有点混乱,我只知道如何在没有用户输入的情况下使用它们。但是我需要用户输入。 这些是我尝试过的代码:第一个代码是 with return 方法,第二个代码是没有 return 方法。
class quadratics1 {
int a,b;
String input1=JOptionPane.showInputDialog("Please enter an integer");
a=Integer.parseInt(input1);
String input2=JOptionPane.showInputDialog("Please enter another integer");
b=Integer.parseInt(input2);
int sum1(int L, int W){
int sum=(L+W);
return sum;
}
int product1(int L, int W){
int product=2*(L+W);
return product;
}
public static void main(String str[]){
quadratics1 m = new quadratics1();
System.out.println(a+" " + b+ " " + m.sum1(a,b));
System.out.println(a+" " + b+ " " + m.product1(a,b));
}
}
我得到的错误是:第 4 行和第 6 行中变量 a 和 b 的预期标识符
我也试过这个:
import javax.swing.*;
class quadratics1{
void sum(int L, int W){
int sum1=(L+W);
System.out.println(a+" " + b+ " " + m.sum1(L,W));
}
void product(int L, int W){
int product1=2*(L+W);
System.out.println(a+" " + b+ " " + m.product1(L,W));
}
public static void main(String str[]){
int a,b;
quadratics1 m = new quadratics1();
String input1=JOptionPane.showInputDialog("Please enter an integer");
a=Integer.parseInt(input1);
String input2=JOptionPane.showInputDialog("Please enter another integer");
b=Integer.parseInt(input2);
}
}
我不知道我做错了什么,我得到了变量错误。任何帮助将不胜感激。几天来我一直在努力解决这个问题。我是编码新手,我必须在明天之前完成这项工作
对于第二部分,我为方程式编写了这段代码,但我不知道如何将其变成方法。
double a, b, c,d,r,rr;
String input1 = JOptionPane.showInputDialog("Please, enter the first real number");
a = Double.valueOf(input1).doubleValue();
String input2 = JOptionPane.showInputDialog("Please, enter the second real number");
b = Double.valueOf(input2).doubleValue();
String input3 = JOptionPane.showInputDialog("Please, enter the third real number");
c = Double.valueOf(input3).doubleValue();
d= Math.pow(b,2) - 4*a*c;
d = Math.round(d*100)/100.0;
r= (-b + Math.sqrt(Math.pow(b,2) - (4*a*c)))/(2*a);
r = Math.round(r*100)/100.0;
rr= (-b - Math.sqrt(Math.pow(b,2) - (4*a*c)))/(2*a);
rr = Math.round(rr*100)/100.0;
System.out.println("You have entered a = " + a + " b = " + b + " c = " + c);
System.out.println("The quadratic equation is " + a + "x^2 " + b + "x " + c + " = 0" );
System.out.println("The discriminant is D= " + d + " D is calculated using the formula D= " + b + "^2 " + " - 4" + "("+ a + ")" + "("+ c + ")");
System.out.println("The roots are " + r + " and " + rr);
好吧,对于第二部分,我选择在 class 的方法中使用您的代码,并在 main 中调用另一个 class 的实例。 这是代码
package Whosebug;
import javax.swing.JOptionPane;
class Discriminant{
public double Discriminant(){
double a, b, c,d;
float e,r,rr;
String input1 = JOptionPane.showInputDialog("Please, enter the first real number");
a = Double.valueOf(input1).doubleValue();
String input2 = JOptionPane.showInputDialog("Please, enter the second real number");
b = Double.valueOf(input2).doubleValue();
String input3 = JOptionPane.showInputDialog("Please, enter the third real number");
c = Double.valueOf(input3).doubleValue();
d= Math.pow(b,2) - 4*a*c;
d = Math.round(d*100)/100.0;
e=(float) Math.sqrt(d);
r= (float) ((b*(-1) + e)/(2*a));
r = (float) (Math.round(r*100)/100.0);
rr= (float) ((b*(-1) - e)/(2*a));
rr = (float) (Math.round(rr*100)/100.0);
System.out.println("You have entered a = " + a + " b = " + b + " c = " + c);
System.out.println("The quadratic equation is " + a + "x^2 " + b + "x " + c + " = 0" );
System.out.println("The discriminant is D= " + d + " D is calculated using the formula D= " + b + "^2 " + " - 4" + "("+ a + ")" + "("+ c + ")");
if (d>0){
System.out.println("The roots are " + r + " and " + rr);
}
else if (d<0){
System.out.print("There r not roots.");
}
return d;
}
}
还有 class 与调用实例的 main :
package Whosebug;
public class test {
public static void main(String[] args) {
double dis=0;
Discriminant a=new Discriminant();
dis=a.Discriminant();
System.out.print("\n\n\n The discriminant is" + dis);
}}
我希望 "i dont know how to make it into a method" 你的意思是这样的。 这是我的 Java help.Now 我必须修复根 x1=[b*(-1)+sqrD]/2*a 和 x2=[b*(-1)-sqrD]/2 *一个
我们还忘记了当 Discriminant 为负时,没有根。 我还修复了根(你需要 d,r,rr 作为浮点数)并且我添加了如果 statement.Now if D<0 ,用户会收到一条消息,如果 D>0 打印根,则没有根。
这里是第一个 part.A 几个改动。
package Whosebug;
import javax.swing.JOptionPane;
class quadratics {
int sum1(int L, int W){
int sum=(L+W);
return sum;
}
int product1(int L, int W){
int product=2*(L+W);
return product;
}
public static void main(String str[]){
String input1=JOptionPane.showInputDialog("Please enter an integer");
int a=Integer.parseInt(input1); //Declaration and put value in the same statement.
String input2=JOptionPane.showInputDialog("Please enter another integer");
int b=Integer.parseInt(input2);//Declaration and put value in the same statement.
quadratics m = new quadratics();
System.out.println(a+" " + b+ " " + m.sum1(a,b));
System.out.println(a+" " + b+ " " + m.product1(a,b));
}
}
请记住,您必须根据要保存它们的文件夹或包来修复第一行(包)。