2017-06-17 65 views
1
import java.util.*; 

class Player { 
    public static void main (String [] args) { 
     String number = Text.nextLine 
    } 
} 

我想從這個類用戶輸入和 帶入另一個類,並使用數量可變的 如果聲明如何從另一個類獲取字符串?

+0

請提供更多信息。 – Blasanka

+0

'Text'似乎是一個類,'nextLine'是一個成員變量,是嗎?如果它是你初始化對象的地方?或者它是'Scanner'類'nextLine()'? – Blasanka

+0

是的,我正在使用掃描儀和是的 –

回答

1

我想從這個類的用戶輸入,並把到另一個類和 使用數量可變的if語句。

它是簡單的看看下面的例子(確保在一個封裝不同的Java文件添加兩個類爲Player.javaExampleClass.java),

這是在類Scanner有:

import java.util.*; 

public class Player{ 
    public static void main (String [] args){ 

     Scanner getInput = new Scanner(System.in); 
     System.out.print("Input a number"); 
     //you can take input as integer if you want integer value by nextInt() 
     String number = getInput.nextLine(); 

     ExampleClass obj = new ExampleClass(number); 
     obj.checkMethod(); 
    } 
} 

這是檢查數類:

public class ExampleClass{ 
    int number; 
    public ExampleClass(String number){ 
     try{ 
      //If you want to convert into int 
      this.number = Integer.parseInt(number); 
     }catch(NumberFormatException e){ 
      System.out.println("Wrong input"); 
     } 
    } 

    public void checkMethod(){ 
     if(number > 5){ 
      System.out.println("Number is greater."); 
     }else{ 
      System.out.println("Number is lesser."); 
     } 
    } 
} 

很少的事情提:

你的代碼示例包含語法錯誤,修復這些第一。

  1. 如果你想整你可以使用getInput.nextInt()而非 getInput.nextLine()
  2. 您可以創建getter和setter來設置vaues並獲取值。在我的例子中,我只是通過構造函數來設置值。
  3. 使用正確的命名約定。
  4. 在我的例子我轉換成String整數構造函數中,並與try包裹 - catch塊從NumberFormatException以防止(如果你輸入文字或東西,你可以看到wrong input將打印)。有時在變化的情況下,在構造函數中使用try - catch並不好。要了解更多信息,請閱讀Try/Catch in Constructor - Recommended Practice
0

您通常做的其他類的導入,只需導入Player類和它應該工作

0

我不知道如果我得到它,我想你正在使用掃描儀。 這是我會做的方式:

Scanner類:

public class ScannerTest { 

    public static void main(String[] args) { 

     Scanner scanner = new Scanner(System.in); 

     while (true) { 
      System.out.println("Insert a decimal:"); 
      String inputValue = scanner.nextLine(); 
      if(!new ScannerCalc().isNumeric(inputValue)){ 
       System.out.println("it's not a number..."); 
       break; 
      } 
      else 
       new ScannerCalc().checkNumber(inputValue); 
     } 
    } 
} 

ScannerCalc類:在類的重用方法實例

public class ScannerCalc { 

    public boolean isNumeric(String s) { 
     return s != null && s.matches("[-+]?\\d*\\.?\\d+"); 
    } 

    public void checkNumber(String number){ 

     if(Integer.parseInt(number)%2==0) 
      System.out.println("it' even"); 
     else 
      System.out.println("it's odd"); 

    } 
} 

留意。

0

如果您想在另一個實體中使用局部變量,最好將它作爲參數傳遞給其他實體的方法。例如

OtherClass.operation(scanner.nextLine()); // In case method is static 

new OtherClass().operation(scanner.nextLine()); // In case method is not static 
相關問題