Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 怎么算!构造一个算法,允许您输入4位整数并计算第一位和最后一位数字的总和_Java - Fatal编程技术网

Java 怎么算!构造一个算法,允许您输入4位整数并计算第一位和最后一位数字的总和

Java 怎么算!构造一个算法,允许您输入4位整数并计算第一位和最后一位数字的总和,java,Java,你可以这样做 public static void main(String[] args) { Scanner sc = new Scanner (System.in); System.out.println("Ingresa el número: "); Integer numero = sc.nextInt(); char[] nums = numero.toString().toCharArray(); } 我想这就是你要找的

你可以这样做

public static void main(String[] args) {
    
    Scanner sc = new Scanner (System.in);
    System.out.println("Ingresa el número: ");
    Integer numero = sc.nextInt();
    char[] nums = numero.toString().toCharArray();
}

我想这就是你要找的。此算法将首先检查数字中的位数,如果是4,则允许进一步处理,否则表示允许4位整数

Scanner sc = new Scanner (System.in);
System.out.println("Ingresa el número: ");
String numero = sc.nextLine();

Integer result = Integer.parseInt(numero.charAt(0)+"") +
    Integer.parseInt(number.charAt(numero.length()-1)+"");

我想这就是你想要的:

Scanner sc = new Scanner (System.in);
        System.out.println("Ingresa el número: ");
        Integer numero = sc.nextInt();
        if(Math.floor(Math.log10(numero)) + 1 != 4 ) {
            System.out.println("Integer should be of four digits");
        } else {
            int last = numero%10;
            int first = numero/1000;
            System.out.println(last+first);
        }
它将数字n的第一个和最后一个数字相加。

你的意思是这样吗

int answer = n%10 + n/1000;

你被困在哪里了?我不知道该怎么计算数字的总和你试过什么?数字必须大于999,小于10000,不是吗。做那部分,那么可能是7654/1000==7?或者将char转换为int?我试图将数字转换成数组来计算第一个和最后一个数字的和,但我不知道怎么做。你的意思是,就像我进入2008年一样,那么它应该是2+8=10?我希望这对你有所帮助。“你介意投一票,接受答案,以便更好地了解情况吗?”为了更清楚起见,我对其进行了编辑。1) num%10总是找到最后一个数字(我认为,如果你看10的时间表,你会发现2000、1200、130,但不是最后一个数字-因为最后一个数字大于10,因此不是它的倍数-,所以这将是余数)。2) 然后将数字除以10,直到数字等于或大于10,这将找到第一个数字(将数字除以10,直到只有一个数字)
public class Adder {

    public static void main(String[] args) {
        int num=2008;
        
        //Find last number
        int sum = num%10;
        //Find first number
        while (num >= 10){
            num /= 10;
        }
        sum +=num;

        System.out.println(sum);
    }

}