簡體   English   中英

如何去另一個班級執行代碼並返回上一個班級

[英]How to go to a different class carry out code and return to previous class

我目前正在大學二年級。 我很難過一年,也看不到自己過去。 但無論如何。 我目前正在研究Java項目。 該項目基於國家汽車測試(NCT)。

基本上我想做的是選擇數字來進行全面測試或重新測試。 如果用戶選擇了完整測試,那么我想進入fullTest類,並從個人信息開始進行一些問題,然后是汽車詳細信息,然后是汽車測試問題。 例如,油位好嗎? 是/否

我想知道的是如何轉到代碼中運行的fulltest類,然后以太顯示來自fulltest類的結果,並將結果返回給mainNct。

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



}

}

package Nct;

import java.util.Scanner;

public class FullTest extends MainNCT {

int wheelAliResult = 0;
String wheelResult;

public FullTest() {

    Scanner Console = new Scanner(System.in);
    //Questions here

    System.out.print("Wheel alingment (%)? ");
    wheelAliResult = Console.nextInt();

    if(wheelAliResult < 0 || wheelAliResult > 6)
    {
        wheelResult = "Fail";
    }
    else
    {
        wheelResult = "Pass";
    }


}

}

根據到目前為止的代碼,由於邏輯似乎全部駐留在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類中FullTest諸如boolean chkOilLevel() FullTest類的方法,該方法在評估為以下內容后將返回truefalse

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;
}

您可以通過將MainNCT的對象設置為FullTest來調用此類方法:

FullTest fullTest=new FullTest();

並可以在您的MainNCT類中調用此方法

        case 1:
           boolean oilLevel=fullTest.chkOilLevel();
           // Do Whatever you want with oilLevel
           break;

這個東西將來也會對您有幫助...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM