1 回答

TA貢獻(xiàn)1859條經(jīng)驗(yàn) 獲得超6個(gè)贊
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);
? ? }
}
在這里,我取出了字符串并找出每個(gè)字符串的ascii值并減去96,因?yàn)閍-> 97 .A-> 65的ascii值(因此如果a需要為1,則必須為97-96 = 1)并且對(duì)于您要求它為 0 的特殊字符,因此將其添加到 sum 變量中。由于 double 也是輸入,因此輸出可以是 float 或 double 。我采用了 float 。
添加回答
舉報(bào)