Java 如何转到其他类执行代码并返回到上一个类
我现在是大学二年级。我觉得这一年很艰难,我不认为自己会过去。但无论如何。我目前正在从事一个Java项目。该项目基于国家汽车测试(NCT) 基本上,我想做的是选择一个数字来进行全面测试或重新测试。如果用户选择了一个完整的测试,那么我想进入完整的测试课程,并执行一些以个人信息开始的问题,然后是汽车详细信息,然后是汽车测试问题。例如,油位正常吗?是/否 我想知道的是,如何转到fulltest类,运行代码,然后显示fulltest类的结果,并将结果返回到mainncJava 如何转到其他类执行代码并返回到上一个类,java,class,Java,Class,我现在是大学二年级。我觉得这一年很艰难,我不认为自己会过去。但无论如何。我目前正在从事一个Java项目。该项目基于国家汽车测试(NCT) 基本上,我想做的是选择一个数字来进行全面测试或重新测试。如果用户选择了一个完整的测试,那么我想进入完整的测试课程,并执行一些以个人信息开始的问题,然后是汽车详细信息,然后是汽车测试问题。例如,油位正常吗?是/否 我想知道的是,如何转到fulltest类,运行代码,然后显示fulltest类的结果,并将结果返回到mainnc package Nct; imp
package Nct;
import java.util.Scanner;
public class MainNCT
{
public static int choice = -1;
public static void main( String[] args)
{
Scanner Console = new Scanner(System.in);
System.out.println("Menu\n\t1. Full Test\n\t2. Re-test\n\t0. Exit\n");
System.out.print("Enter a number: ");
choice = Console.nextInt();
switch(choice)
{
case 1:
//Go to fulltest class
break;
case 2:
//Go to retest class
break;
case 0:
System.exit(0);
break;
default:
System.out.println("Invalid number entered");
} // switch
}
}
及
Nct;
导入java.util.Scanner;
公共类FullTest扩展了MainNCT{
int结果=0;
串轮结果;
公共完整测试(){
扫描仪控制台=新扫描仪(System.in);
//这里的问题
系统输出打印(“车轮对齐(%)?”;
wheelAliResult=Console.nextInt();
如果(wheelAliResult<0 | | wheelAliResult>6)
{
wheelResult=“失败”;
}
其他的
{
wheelResult=“通过”;
}
}
}
基于目前为止的代码,因为逻辑似乎都驻留在FullTest
构造函数中,所以应该这样做:
switch(choice)
{
case 1:
FullTest ft = new FullTest();
break;
case 2:
ReTest rt = new ReTest();
break;
case 0:
System.exit(0);
break;
default:
System.out.println("Invalid number entered");
} // switch
我假设您也有一个名为
ReTest
的类。首先在FullTest
类中创建一个方法,例如boolean chkOilLevel()
,该方法将在求值后返回true
或false
:
boolean chkOilLevel(){
Scanner Console = new Scanner(System.in);
//Questions here
System.out.print("Wheel alingment (%)? ");
wheelAliResult = Console.nextInt();
if(wheelAliResult < 0 || wheelAliResult > 6)
{
wheelResult = true;
}
else
{
wheelResult = false;
}
return wheelResult;
}
并且可以在mainnc
类中调用此方法
case 1:
boolean oilLevel=fullTest.chkOilLevel();
// Do Whatever you want with oilLevel
break;
这个东西将来也会对您有所帮助…因为您的所有代码似乎都在构造函数中,
new FullTest()
应该执行它。您也可以通过访问以下字段来读取wheelResult
的值:new FullTest().wheelResult
(这要求它位于同一个包中,因为它不是公共字段)。顺便说一句,这并不是一个推荐的设置。将代码放入构造函数中不是强制性的。这会被视为糟糕的编码吗?推荐的设置是什么?非常感谢。是的,有复试课。谢谢。当需要特定的重新测试主题时,方法调用将派上用场。
FullTest fullTest=new FullTest();
case 1:
boolean oilLevel=fullTest.chkOilLevel();
// Do Whatever you want with oilLevel
break;