刚开始编写代码,对Java还是很新的。我正在尝试制作一个接受文本并以十六进制形式吐出来的文本加密器。我有一个textScanner.java用于扫描控制台输入中的文本,还有一个ecryptor.java将扫描的文本转换为十六进制。如何在Main.java中将这两个功能一起使用?

尝试使构造函数没有运气

/*Main.java*/
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
import javax.xml.bind.DatatypeConverter;

public class Main
{
  public static void main (String[]args)
  {
   /*what should i put in here*/
  }
}

/*encryptor.java*/
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
import javax.xml.bind.DatatypeConverter;

public class encryptor
{
  public static String toHexadecimal (String text) throws UnsupportedEncodingException
  {
    byte[]myBytes = text.getBytes ("UTF-8");
    System.out.println(toHexadecimal (textScanner.scanner()));
    return DatatypeConverter.printHexBinary (myBytes);
  }
}

/*textScanner.java*/
import java.io.UnsupportedEncodingException;
import java.util.Scanner;
import javax.xml.bind.DatatypeConverter;

public class textScanner
{
  public static String scanner () throws UnsupportedEncodingException
  {
     Scanner scanA = new Scanner (System.in);
      System.out.println ("Please enter the text to be encrypted");
      String plainText = scanA.next ();
      scanA.close();
      return plainText;
  }
}


输入:goodmorning stackoverflow

输出:20 67 6f 6f 64 6d 6f 72 6e 69 6e 67 20 73 74 61 63 6b 6f 76 65 72 66 6c 6f 77

最佳答案

由于您使用的是静态方法,因此不需要构造任何对象。

public static void main (String[]args)
{
  String plainText = textScanner.scanner();
  encryptor.toHexadecimal(plainText);
}

10-06 13:59