所以我已经找到了三个必需的代码。它们是二次公式的代码,ISBN检查器的代码和牛顿方法的代码。我应该制作一个菜单,其中包含分别包含这些代码的选项1,2和3。
我想这意味着我需要不同的方法吗?我从来没有真正被教过 - 我被告知我们必须总是把公共课无效主(String [] args){对于一切,我只是被告知有变化吗?
对于Quadratics公式,信息为:Return - void和三个双精度参数,牛顿方法:返回 - 双精度和1个双精度参数,以及ISBN检查器:返回:布尔值和1个字符串的参数。我也不太了解参数。帮助将不胜感激。我知道这在美学上看起来很可怕,但因为我现在的代码相对较短,所以我只是编辑了这个样式。我也知道很多事情都是错的,我花时间试图解决这些问题。
import Java.util.Scanner;
public class HelperMethod{
public static void main(String[] args) {
Scanner userInputScanner = new Scanner (System.in);
System.out.println ("You have three options. press one for the quadratic Formula, 2 for the newtons Method, and 3 for an ISBN checker.");
int input = userInputScanner.nextInt();
if (input = 1){
}else if (input = 2) {
private class NewtonsMethod {
public static void NewtonsMethod(String[] args) {
Scanner userInputScanner = new Scanner (System.in);
double guess, fX, fPrimeX, newGuess;
System.out.println ("enter in a value give");
guess = userInputScanner.nextDouble();
System.out.println ("Your guess is " + guess);
while (true) {
fX = (6 * Math.pow (guess,4)) - (13 * Math.pow (guess,3)) - (18 * Math.pow (guess,2)) + (7 * guess) + 6;
fPrimeX = (24 * Math.pow (guess,3)) - (39 * Math.pow (guess,2)) - 36 * guess + 7;
newGuess = guess - (fX / fPrimeX);
System.out.println ("A possible root is " + newGuess);
if (Math.abs(newGuess - guess) < 0.00001) {
break;
} else {
guess = newGuess;
}
}
System.out.println ("The root is: " + newGuess);
}
}
}else{
private class BookNumber {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
char f;
int e, g, h;
int result = 0;
System.out.println ("Pleas enter a thirteen digit number");
String a = scanner.nextLine();
if (a.length() == 13){
for (int i = 0; i < 13; i ++) {
f = a.charAt(i);
e = Character.digit(f, 10);
if (i % 2 == 0) {
g = e * 1;
result = result + g;
} else {
g = e * 3;
result = result + g;
}
}
System.out.println ("The added sum of you numbers is " + result);
if (result % 10 == 0) {
System.out.println ("This combination IS a ISBN number");
} else {
System.out.println ("This is NOT an ISBN number");
}
} else {
System.out.println ("This combination is not thirteen digits long");
}
}
}
}
}
}
答案 0 :(得分:0)
方法永远不应该在彼此之内。这就是课程的用途。方法是类中的元素。例如,在您的情况下,您的类名为“HelperMethod”。在使用大括号“}”
关闭main方法的代码块之后,您的方法需要开始作为例子
// This would be your main method.
public static void main(String args[]) {
// Your method is CALLED here.
someMethod();
{
// Then this is where your next method would start.
public static void someMethod() {
// Your code for the method of course goes here.
}
当然你需要你的类设置并且需要导入ABOVE主方法,但你已经正确设置了。通过此设置,可以轻松调用其他类中的公共方法。除非您打算使用多个类,否则不需要您的私有方法,此时您需要导入该类,然后调用该方法
SomeClass.someMethod();
答案 1 :(得分:0)
首先,现在您在第一个if语句中将输入设置为1。要将输入比较为1,请使用==
运算符,即if (input == 1) {...
。其次,你真的不需要使用类,你可以简单地使用方法NewtonsMethod()
,BookNumber()
等,并在输入正确时运行它们。
public class HelperMethod{
public static void main(String[] args) {
int input;
//Handle user input
switch (input) {
case 1:
newtonsMethod();
break;
case 2:
bookNumber();
break;
case 3:
anotherMethod();
break;
}
}
public static void newtonsMethod() {
//Your code
}
public static void bookNumber() {
//Your code
}
public static void anotherMethod() {
//Your code
}
}