亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何編寫程序以獲取用戶的三個輸入:字符串(轉換為數字)、int 和 double 并將它們的值相加

如何編寫程序以獲取用戶的三個輸入:字符串(轉換為數字)、int 和 double 并將它們的值相加

慕少森 2023-11-01 22:44:51
我需要編寫一個程序來請求并接受來自用戶的三個輸入:字符串、整數和雙精度數。程序應該將輸入傳遞給一個方法,該方法將字符串轉換為其等效的數值,并將該值添加到剩余輸入的總和中。程序應該向用戶顯示結果。字母a值1,b值2,一直到字母z值26。如果它包含數字,則該字符的值是數字本身的值,0值0,1值1 ,一直到 9 都值 9。字符串中的任何其他字符(例如:!$?*&^%)都值 0。到目前為止我所擁有的在下面的代碼中導入java.util.Scanner;公共靜態無效主(字符串[] args){            Scanner myObj = new Scanner(System.in);            System.out.println("Please enter a string");            String input1 = myObj.nextLine();            if (!input1.matches("[a-zA-Z_]+!$?*&^%")) {                System.out.println("Invalid String");            }                else {                 System.out.println("Please enter a integer");             }            int input2 = myObj.nextInt();            System.out.println("Please enter a double");            double input3 = myObj.nextDouble();        }    }示例輸出 請輸入字符串:dad6! 請輸入整數:10 請輸入小數:2.5 結果為:27.5
查看完整描述

1 回答

?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

import java.util.Scanner;

public class Main

{

? ? public static void main(String[] args) {

? ? float charSum=0;


? ? ? ? ? ? Scanner myObj = new Scanner(System.in);


? ? ? ? ? ? System.out.println("Please enter a string");

? ? ? ? ? ? String input1 = myObj.nextLine();

? ? ? ? ? ? char[] arr=input1.toCharArray();

? ? ? ? ? ? for(int i=0;i<arr.length;i++){

? ? ? ? ? ? ? ?int ascii=(int)arr[i];


? ? ? ? ? ? ? ?if(ascii>=97&&ascii<=122){

? ? ? ? ? ? ? ? charSum=charSum+ascii-96; //for a-z

? ? ? ? ? ? ? ?}?

? ? ? ? ? ? ? ? else if(ascii>=65&&ascii<=90){

? ? ? ? ? ? ? ? charSum=charSum+ascii-64;? //for A-Z

? ? ? ? ? ? ? ? }

? ? ? ? ? ? ? ? else if(ascii>=48&&ascii<=57){

? ? ? ? ? ? ? ? ? ? ?charSum=charSum+ascii-48;? //ascii for number

? ? ? ? ? ? ? ? }else{

? ? ? ? ? ? ? ? ? ? ?charSum=charSum+0;? //ascii for special Character

? ? ? ? ? ? ? ? }

? ? ? ? ? ? }


? ? ? ? ? ? System.out.println("Please enter a Integer");

? ? ? ? ? ? int integerValue = myObj.nextInt();

? ? ? ? ? ? charSum+=integerValue;


? ? ? ? ? ? System.out.println("Please enter a Double");

? ? ? ? ? ? Double doubleValue = myObj.nextDouble();

? ? ? ? ? ? charSum+=doubleValue;


? ? ? ? ? ? System.out.println(charSum);


? ? }

}

在這里,我取出了字符串并找出每個字符串的ascii值并減去96,因為a-> 97 .A-> 65的ascii值(因此如果a需要為1,則必須為97-96 = 1)并且對于您要求它為 0 的特殊字符,因此將其添加到 sum 變量中。由于 double 也是輸入,因此輸出可以是 float 或 double 。我采用了 float 。

查看完整回答
反對 回復 2023-11-01
  • 1 回答
  • 0 關注
  • 144 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號