Java 迭代整数中的每个数字并执行mod 11
我正在尝试做一些程序,需要一些帮助。例如,我在一个文本框中输入了这个数字:00669253,然后对于每个数字,我想将其与数字87654321相乘,例如 (0x8)+(0x7)+(6x6)。。。。依此类推,然后得到所有数字的和,然后做一个11的模。我该怎么做Java 迭代整数中的每个数字并执行mod 11,java,Java,我正在尝试做一些程序,需要一些帮助。例如,我在一个文本框中输入了这个数字:00669253,然后对于每个数字,我想将其与数字87654321相乘,例如 (0x8)+(0x7)+(6x6)。。。。依此类推,然后得到所有数字的和,然后做一个11的模。我该怎么做 感谢您的事先帮助。您可以先将数字转换为字符串,然后按如下方式操作: String no1="00669253"; String no2="87654321"; int sum=0; for(int i=0;i<no1.length();
感谢您的事先帮助。您可以先将数字转换为
字符串
,然后按如下方式操作:
String no1="00669253";
String no2="87654321";
int sum=0;
for(int i=0;i<no1.length();i++){
sum+=Integer.parseInt(""+no1.charAt(i))*Integer.parseInt(""+no2.charAt(i));
}
String no1=“00669253”;
字符串no2=“87654321”;
整数和=0;
对于(int i=0;i试试这个
public class Dummy {
public static void main(String[] args) {
String s = "112211";
String s2 = "010101";
char[] sDummy = s.toCharArray();
char[] s2Dummy = s2.toCharArray();
int sum = 0;
for (int i = 0; i < sDummy.length; i++) {
System.out.println("multiplying..." + sDummy[i] + "with " + s2Dummy[i] + "and adding prev sum " + sum + " to it");
sum = sum + (Integer.parseInt(sDummy[i] + "") * Integer.parseInt(s2Dummy[i] + ""));
}
sum = sum % 11;
System.out.println("sum with mod is = " + sum);
}
}
公共类虚拟{
公共静态void main(字符串[]args){
字符串s=“112211”;
字符串s2=“010101”;
char[]sDummy=s.toCharArray();
char[]s2Dummy=s2.toCharArray();
整数和=0;
for(int i=0;i
如果两个字符串的长度不同,您需要添加一些检查,您可以尝试以下方法:
public class TestMult {
public static void main(String[] args) {
String first = "00669253";
String second = "87654321";
long sum = 0L;
if (first.length() == second.length()) {
for (int i = 0; i < first.length(); i++) {
int firstInt = Character.getNumericValue(first.charAt(i));
int secondInt = Character.getNumericValue(second.charAt(i));
sum += firstInt * secondInt;
}
System.out.println("result: " + sum % 11);
} else {
System.err.println("lengths are not equal.");
}
}
}
公共类TestMult{
公共静态void main(字符串[]args){
String first=“00669253”;
字符串second=“87654321”;
长和=0L;
if(first.length()==second.length()){
对于(int i=0;i
试试这个
String inputValue = "00669253";
String multipleValue="87654321";
int result = 0;
for (int i = 0; i < inputValue.length(); i++)
{
result += Integer.parseInt(Character.toString(inputValue.charAt(i))) *
Integer.parseInt(Character.toString(multipleValue.charAt(i)));
}
String inputValue=“00669253”;
字符串multipleValue=“87654321”;
int结果=0;
for(int i=0;i
这将不会产生正确的结果,因为您将字符代码相乘,而不是字符表示的实际整数值。是的,您是对的,我刚刚计算出来,需要在相乘之前将其转换为int。编辑正确的版本