gpt4 book ai didi

java - java中数组列表值相乘

转载 作者:行者123 更新时间:2023-12-02 01:29:40 24 4
gpt4 key购买 nike

我输入一个数字,如 1234。我需要偶数位置值和奇数位置值,并且我已将偶数位置数组列表值存储在数组列表中,例如偶数位置数组列表值是 2 和 4。在奇数数组列表值是 1 和 3 中,它们都工作正常。但是当我将 arraylist 值 2 和 4 相乘时,得到 2600 。请帮忙

import java.util.*;
public class list {


public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Character> list1 = new ArrayList<>();
List<Character> list2 = new ArrayList<>();
System.out.print("Enter Distance ");
String no = sc.next();
for(int i = 0 ; i < no.length() ; i++){
if(i % 2 != 0){
list1.add(no.charAt(i));
}else{
list2.add(no.charAt(i));
}
}

for (char c : list1 ) {
System.out.println(c);
}

int tot = 1;
for (int i=0; i < list1.size() ; i++ ) {
tot = tot * list1.get(i);
}

System.out.print(tot);


}
}

最佳答案

您乘的是字符而不是数字,这就是您得到 2600 的原因。在相乘之前将字符转换为数字。这是更新的代码。

import java.util.*;

public class Main
{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
List<Integer> list1 = new ArrayList<>();//changed here
List<Integer> list2 = new ArrayList<>();//changed here
System.out.print("Enter Distance ");
String no = sc.next();

try{
Integer.parseInt(no);
}catch(Exception e ) {
System.out.println("NumberFormatException");
return;
}

for(int i = 0 ; i < no.length() ; i++){
if(i % 2 != 0){
list1.add(Character.getNumericValue(no.charAt(i)));//changed here
}else{
list2.add(Character.getNumericValue(no.charAt(i)));//changed here
}
}

for (int c : list1 ) {
System.out.println(c);
}

int tot = 1;
for (int i=0; i < list1.size() ; i++ ) {
tot = tot * list1.get(i);
}

System.out.print(tot);
}
}

关于java - java中数组列表值相乘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56303916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com