Java 如何从扫描仪读取字符串,并将每个字母转换为不同的值?
我正在处理一个作为文件导入的字符串,获取每个字符,并通过将其更改为下一个字母对其进行“加密”。基本上,a是b,b是c,c是d,等等。它是不安全的,但它不是为了这些目的。扫描的字符串可以是任何东西,但我使用的是“橙汁很棒!我昨天喝了83214杯。”它位于一个名为input.txt的文件中 我的代码如下:Java 如何从扫描仪读取字符串,并将每个字母转换为不同的值?,java,string,encryption,char,Java,String,Encryption,Char,我正在处理一个作为文件导入的字符串,获取每个字符,并通过将其更改为下一个字母对其进行“加密”。基本上,a是b,b是c,c是d,等等。它是不安全的,但它不是为了这些目的。扫描的字符串可以是任何东西,但我使用的是“橙汁很棒!我昨天喝了83214杯。”它位于一个名为input.txt的文件中 我的代码如下: import java.util.Scanner; import java.io.*; public class ReadFileExample{ public static void
import java.util.Scanner;
import java.io.*;
public class ReadFileExample{
public static void main(String[] args){
//String fileName = "input.txt";
//File file = new File(fileName);
//Scanner in = new Scanner(file);
try{
Scanner in = new Scanner(new File("input.txt"));
while(in.hasNext() == true){
String input = in.next();
System.out.println(input);
}
}
in.close();
}
catch(FileNotFoundException exception){
System.out.println("Could not find the file.");
}
}
}
我曾考虑过将字符串转换为数组,但我不知道该怎么做。也许是这样
char[] charArray = input.toCharArray();
for (char c : charArray){
System.out.println(c);
}
我真的不知道该怎么办。我还想知道for(I=0;I感谢任何帮助,即使它建议搜索什么来回答我的问题。以下是代码,代码在注释中解释,如果您需要更多帮助,请在下面的注释中找到演示! 我已经给出了静态字符串的演示,您已经给出了示例
import java.util.HashMap;
/**
*
*@作者赛卡兰
*/
公共类应用程序{
//函数返回第二种编码方法的子字符串
//示例1将返回On,2将返回Tw…等
公共静态字符串findstringmap(字符c)
{
//创建hashmap并添加关键元素和字符串定义
HashMap hmap=newhashmap();
/*向HashMap添加元素*/
hmap.put(1,“一”);
hmap.put(2,“两”);
hmap.put(3,“三”);
hmap.put(4,“四”);
hmap.put(5,“5”);
hmap.put(6,“六”);
hmap.put(7,“七”);
hmap.put(8,“8”);
hmap.put(9,“9”);
hmap.put(0,“零”);
/*基于键获取值*/
int num_value=Character.getNumericValue(c);
//转换为数值
字符串var=hmap.get(num_值);
//获取子字符串
字符串ret_str=var.substring(0,2);
返回ret_str;
}
公共静态void main(字符串[]args){
//此处的TODO代码应用程序逻辑
String l1=“橙汁很棒!我昨天喝了83214杯。”;
//字符串final包含结果
字符串Final=“”;
字符串next=“”;
对于(int i=0;i
以下是代码,注释中对代码进行了解释,如果您需要更多帮助,请在下面的链接中找到演示!
我已经给出了静态字符串的演示,您已经给出了示例
import java.util.HashMap;
/**
*
*@作者赛卡兰
*/
公共类应用程序{
//函数返回第二种编码方法的子字符串
//示例1将返回On,2将返回Tw…等
公共静态字符串findstringmap(字符c)
{
//创建hashmap并添加关键元素和字符串定义
HashMap hmap=newhashmap();
/*向HashMap添加元素*/
hmap.put(1,“一”);
hmap.put(2,“两”);
hmap.put(3,“三”);
hmap.put(4,“四”);
hmap.put(5,“5”);
hmap.put(6,“六”);
hmap.put(7,“七”);
hmap.put(8,“8”);
hmap.put(9,“9”);
hmap.put(0,“零”);
/*基于键获取值*/
int num_value=Character.getNumericValue(c);
//转换为数值
字符串var=hmap.get(num_值);
//获取子字符串
字符串ret_str=var.substring(0,2);
返回ret_str;
}
公共静态void main(字符串[]args){
//此处的TODO代码应用程序逻辑
String l1=“橙汁很棒!我昨天喝了83214杯。”;
//字符串final包含结果
字符串Final=“”;
字符串next=“”;
对于(int i=0;iimport java.util.HashMap;
/**
*
* @author Sai-Karan
*/
public class App {
//Function to return the substring for the second encoding method
//Example 1 will return On, and 2 will return Tw ....etc
public static String findstringmap(char c)
{
//Create a hashmap and add the key elements and the string definitions
HashMap <Integer, String> hmap = new HashMap <Integer, String>();
/*Adding elements to HashMap*/
hmap.put(1, "One");
hmap.put(2, "Two");
hmap.put(3, "Three");
hmap.put(4, "Four");
hmap.put(5, "Five");
hmap.put(6, "Six");
hmap.put(7, "Seven");
hmap.put(8, "Eight");
hmap.put(9, "Nine");
hmap.put(0, "Zero");
/* Get values based on key*/
int num_value = Character.getNumericValue(c);
//convert to the numeric value
String var = hmap.get(num_value);
//get the substring
String ret_str = var.substring(0, 2);
return ret_str;
}
public static void main(String[] args) {
// TODO code application logic here
String l1 = "Orange juice is great! I drank 83,214 cups of it yesterday.";
//String final contains the result
String Final = "";
String next = "";
for(int i =0 ; i< l1.length(); i++)
{
//char c = l1.charAt(i);
if (l1.charAt(i) == ' ')
{
next = " ";
}
else if (l1.charAt(i) == '!')
{
next = "!";
}
else if(l1.charAt(i) == ',')
{
next = ",";
}
else if(l1.charAt(i) == '.')
{
next = ".";
}
else if(!(Character.isDigit(l1.charAt(i))))
{
int val = l1.charAt(i);
next = String.valueOf( (char) (val + 1));
// System.out.println(next);
}
else if(Character.isDigit(l1.charAt(i)))
{
next = findstringmap(l1.charAt(i));
}
Final = Final + next;
}
System.out.println(Final);
}
}