java:在键盘上输入若干数字,每输入一个数按回车键确认,输入0结束操作,计算出所有数之和。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java:在键盘上输入若干数字,每输入一个数按回车键确认,输入0结束操作,计算出所有数之和。相关的知识,希望对你有一定的参考价值。

java:在键盘上输入若干数字,每输入一个数按回车键确认,输入0结束操作,计算出所有数之和。

import java.util.Scanner;
import java.util.InputMismatchException;
Class Sum
    public static void main(String[] args) throws Exception
        Scanner s = new Scanner(System.in);
        int sum = 0;
        int input;
        System.out.println("请输入一个整数");
        while(true)
            try 
                input = s.nextInt();
                if (input == 0) break;
                

             catch (InputMismatchException e) 
                System.out.println("输入错误,请重新输入");
                s.next();
            
        
        System.out.println("所有数之和为" + sum);
    

参考技术A 全部代码都让别人写,这样就算了,当我没看着。

如何使用数字键盘输入键执行方程? [复制]

【中文标题】如何使用数字键盘输入键执行方程? [复制]【英文标题】:How to execute equation using numeric keypad enter key? [duplicate] 【发布时间】:2020-09-25 09:00:06 【问题描述】:

我正在尝试使用 java 和 android studio 制作我的第一个 apk,但我已经被困了好几个小时。 基本上它只是做一些数学运算。我开始的教程实现了一个计算按钮来根据用户输入执行方程,但我真的想使用键盘上的回车键并消除计算按钮,或者至少在按下回车时执行计算按钮。 使用数字小键盘的回车键可以让您进入下一行用户输入。添加所有输入后,它会变为复选标记,但按下它只会隐藏键盘。它不做数学运算并提供结果。 我希望有人能指出我的仪式方向。

package com.sativa.beeralator;

import android.os.Build;
import android.os.Bundle;
import android.view.View;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import androidx.annotation.RequiresApi;
import androidx.appcompat.app.AppCompatActivity;

import java.util.Objects;

import static android.view.View.OnClickListener;

public class MainActivity extends AppCompatActivity 

    private EditText input5;
    private EditText input1;
    private EditText input2;
    private EditText input3;
    private EditText input4;
    private TextView tv_result;
    private TextView tv_result2;
    private String GetString;

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        input5 = findViewById(R.id.et_input5);
        input1 = findViewById(R.id.et_input1);
        input2 = findViewById(R.id.et_input2);
        input3 = findViewById(R.id.et_input3);
        input4 = findViewById(R.id.et_input4);

        Button bt_calculate = findViewById(R.id.bt_calculate);

        tv_result = findViewById(R.id.tv_result);
        tv_result2 = findViewById(R.id.tv_result2);

        bt_calculate.setOnClickListener(new OnClickListener() 
            @RequiresApi(api = Build.VERSION_CODES.KITKAT)
            @Override
            public void onClick(View view) 
                InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(Objects.requireNonNull(getCurrentFocus()).getWindowToken(), 0);
                makeCalculations();


            
        );
    

    private void makeCalculations() 
            double doorfee = Double.parseDouble(input5.getText().toString());
            double people = Double.parseDouble(input1.getText().toString());
            double beersperhour = Double.parseDouble(input2.getText().toString());
            double hours = Double.parseDouble(input3.getText().toString());
            double contributions = doorfee * people;
            double cost = Double.parseDouble(input4.getText().toString());
            double result = Math.ceil(people * beersperhour * hours / 24);
            double result2 = (result * cost) - contributions;

            String sValue = String.format("%,.0f", result);
            String sValue2 = String.format("%,.2f", (Math.abs(result2)));

            tv_result.setText(String.format(" Required cases = %s", sValue));

            if (result2 >= 0) 
                tv_result2.setText(String.format(" Cost = $%s", sValue2));
             else 
                tv_result2.setText(String.format(" Profit = $%s", sValue2));
            

        


任何建议表示赞赏。

【问题讨论】:

这能回答你的问题吗? Implicit "Submit" after hitting Done on the keyboard at the last EditText 谢谢。这就是我正在寻找的信息。我越来越近了。 :) 【参考方案1】:

你可以这样做

input5.setOnEditorActionListener(new TextView.OnEditorActionListener() 
    @Override
    public boolean onEditorAction(TextView v, int actionId, KeyEvent event) 
        if (actionId == EditorInfo.IME_ACTION_DONE) 
            // do your stuff here
        
        return false;
    
);

【讨论】:

以上是关于java:在键盘上输入若干数字,每输入一个数按回车键确认,输入0结束操作,计算出所有数之和。的主要内容,如果未能解决你的问题,请参考以下文章

java基本输入型数据Scanner

如何使用数字键盘输入键执行方程? [复制]

python 从键盘输入a、b两个数,按大小顺序输出它们

在python中,应如何捕获用户键盘输入?

C语言如何输入一个数组

用js怎么写一个回车键盘事件