如何在多个类别中使用扫描仪?

时间:2019-02-20 16:59:36

标签: java class java.util.scanner

如何在多个课程中使用扫描器user_input?我读了几篇文章,但显然我缺少了一些东西。我什至尝试遵循其他一些stackoverflow问题,结果如下:

import java.util.Scanner;

public class HelloWorld{
    public static final Scanner user_input = new Scanner(System.in);

    public static void main(String []args){
        String test1 = user_input.next();
        System.out.println("Test 1: " + test1);
    }
}

class TestClass{
    public static void test_method(){
        String test2 = HelloWord.user_input.next();
        System.out.println("Test 2: " + test2);
    }
}

如果有人可以帮助我,我将不胜感激。

P.S。我是Java新手,具有Python背景。

2 个答案:

答案 0 :(得分:4)

在@ferdz评论中,这样会更好:

import java.util.Scanner;

public class HelloWorld {
    public static final Scanner user_input = new Scanner(System.in);

    public static void main(String[] args) {
        String test1 = user_input.next();
        System.out.println("Test 1: " + test1);

        // These two lines actually instantiate the TestClass below,
        // we pass in the Scanner as a parameter (user_input), and 
        // then it gets used in the test_method internally.
        TestClass testClass = new TestClass(user_input);
        testClass.test_method();
    }

    private static class TestClass {
        public void test_method(Scanner scanner) {
            String test2 = scanner.next();
            System.out.println("Test 2: " + test2);
        }
    }
}

答案 1 :(得分:1)

您唯一的问题是您错过了第二堂课的拼写世界。

所以改变:

Sub culturestop_timestamp()

Dim culstop As String
Dim MFA As Variant
Dim MFA2 As String    
Dim MFB As Variant
Dim MFC As Variant
Dim MFD As Variant
Dim MFE As Variant
Dim MFF As Variant
Dim MFG As Variant
Dim MFH As Variant
Dim start As Date
Dim curtime As Date
Dim rownum As Integer

Application.OnTime Now, "culturestop_timestamp"
reset:
    'Application.OnTime TimeValue("00:00:00", "culturestop_timestamp")
    start = Now()

rownum = 30

A = 0
B = 0
C = 0
D = 0
E = 0
F = 0
G = 0
H = 0


Do While curtime <= TimeValue("23:59:00")
    Application.Wait (Now + TimeValue("00:00:30"))

    MFA = Application.Run("PICurrVal", "TAPS1.MNFERMA_UNIT / PHASE_SELECT.CVS", 0, "")
    MFB = Application.Run("PICurrVal", "TAPS1.MNFERMB_UNIT / PHASE_SELECT.CVS", 0, "")
    MFC = Application.Run("PICurrVal", "TAPS1.MNFERMC_UNIT / PHASE_SELECT.CVS", 0, "")
    MFD = Application.Run("PICurrVal", "TAPS1.MNFERMD_UNIT / PHASE_SELECT.CVS", 0, "")
    MFE = Application.Run("PICurrVal", "TAPS1.MNFERME_UNIT / PHASE_SELECT.CVS", 0, "")
    MFF = Application.Run("PICurrVal", "TAPS1.MNFERMF_UNIT / PHASE_SELECT.CVS", 0, "")
    MFG = Application.Run("PICurrVal", "TAPS1.MNFERMG_UNIT / PHASE_SELECT.CVS", 0, "")
    MFH = Application.Run("PICurrVal", "TAPS1.MNFERMH_UNIT / PHASE_SELECT.CVS", 0, "")
    If A = 2 Then
        MFA = "Already_Brothed_Out_Today"
    End If
    If B = 2 Then
        MFB = "Already_Brothed_Out_Today"
    End If
    If C = 2 Then
        MFC = "Already_Brothed_Out_Today"
    End If
    If D = 2 Then
        MFD = "Already_Brothed_Out_Today"
    End If
    If E = 2 Then
        MFE = "Already_Brothed_Out_Today"
    End If
    If F = 2 Then
        MFF = "Already_Brothed_Out_Today"
    End If
    If G = 2 Then
        MFG = "Already_Brothed_Out_Today"
    End If
    If H = 2 Then
        MFH = "Already_Brothed_Out_Today"
    End If

    ***If MFA = "culstop" Then***
        A = 2
        MFAR = Application.Run("PICurrVal", "TAPS1.TC02_RECIPE / MNFERMA_TYPE.CV", 0, "")
        MFAT = Now()
        Sheet1.Range("A" & rownum) = MFAT
        Sheet1.Range("B" & rownum) = MFAR
        'Sheet1.Range("C" & rownum) =
        'Sheet1.Range("D" & rownum) =
        'Sheet1.Range("E" & rownum) =
        'Sheet1.Range("F" & rownum) =


        rownum = rownum + 1

    End If

    If MFB = "culstop" Then
        B = 2
        MFBR = Application.Run("PICurrVal", "TAPS1.TC02_RECIPE / MNFERMB_TYPE.CV", 0, "")
        MFBT = Now()
        Sheet1.Range("A" & rownum) = MFBT
        Sheet1.Range("B" & rownum) = MFBR
        'Sheet1.Range("C" & rownum) =
        'Sheet1.Range("D" & rownum) =
        'Sheet1.Range("E" & rownum) =
        'Sheet1.Range("F" & rownum) =
        rownum = rownum + 1


    End If


    curtime = Now()

Loop
GoTo reset

End Sub

收件人:

String test2 = HelloWord.user_input.next();

它应该可以工作

相关问题