筆試題03、編程題--鍵入字元串,統計字元,數字等類型的個數。

来源:http://www.cnblogs.com/Java766357768/archive/2017/10/18/7685257.html
-Advertisement-
Play Games

昨日去筆試了,遇到了一道編程題,因為經常坐在電腦前面,使用開發工具已經習慣了“alt+/”,導致了平時有些方法不是很註意看,於是在整理了思路之後,寫方法的時候,完蛋了,卡殼了....導致那道題做得不是盡如人意....現在筆者將之整理出來,希望加深自己的印象的同時也能夠對讀者有所幫助。 題目:從鍵盤中 ...


昨日去筆試了,遇到了一道編程題,因為經常坐在電腦前面,使用開發工具已經習慣了“alt+/”,導致了平時有些方法不是很註意看,於是在整理了思路之後,寫方法的時候,完蛋了,卡殼了....導致那道題做得不是盡如人意....現在筆者將之整理出來,希望加深自己的印象的同時也能夠對讀者有所幫助。

題目:從鍵盤中輸入一個字元串,然後分別統計出該字元串中的字元,數字,空格以及其他字元等等的個數

有輸入,筆者當時第一個想到的是Scanner類,等到變數定義好了,Scanner實例創建完了之後,發現其中的方法忘記了,以致於卡在這裡...現在將回來之後的代碼貼在下麵:

package com.ygh.pencilTest;

import java.util.Scanner;

/**
 * 從鍵盤中輸入一個字元串,然後分別統計出該字元串中的字元,數字,空格以及其他字元等等的個數
 * 
 * @author 夜孤寒
 * @version 1.1.1
 */
public class JudgeString_01 {
    public static void main(String[] args) {
        System.out.println("請輸入一串字元串:");

        int digital = 0;// 數字
        int character = 0;// 英文
        int blank = 0;// 空格
        int other = 0;// 其他

        // 從鍵盤鍵入
        Scanner san = new Scanner(System.in);

        // 獲取到輸入的字元串
        String str = san.nextLine();

        // 將獲得的字元串放到一個char數組中
        char[] charArray = str.toCharArray();

        // 將數組中的字元串取出來,然後判斷類型並且進行個數的計算
        for (int i = 0; i < charArray.length; i++) {
            if (charArray[i] >= '0' && charArray[i] <= '9') {
                digital++;
            } else if ((charArray[i] >= 'a' && charArray[i] <= 'z') || charArray[i] >= 'A' && charArray[i] <= 'Z') {
                character++;
            } else if (charArray[i] == ' ') {
                blank++;
            } else {
                other++;
            }
        }

        // 輸出結果
        System.out.println("數字的個數:" + digital);
        System.out.println("字母的個數:" + character);
        System.out.println("空格的個數:" + blank);
        System.out.println("其他的個數:" + other);
    }
}

運行結果:

第二種方式,是使用BufferedReader這個類,將輸入的字元讀取出來,同樣的這裡和Scanner類似需要記住readLine()方法,而Scanner需要記住的方法則是nextLine()方法。所以所以現在筆者將第二種方式實現貼出來,以作參考,但是一般提到輸入兩個字眼,筆者最先想到的就是Scanner類....

package com.ygh.pencilTest;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

/**
 * 從鍵盤中輸入一個字元串,然後分別統計出該字元串中的字元,數字,空格以及其他字元等等的個數
 * 
 * @author 夜孤寒
 * @version 1.1.1
 */
public class JudgeString_02 {
    public static void main(String[] args) throws IOException {
        System.out.println("請輸入一串字元串:");

        int digital = 0;// 數字
        int character = 0;// 英文
        int blank = 0;// 空格
        int other = 0;// 其他

        // 從鍵盤輸入
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        //
        String str = br.readLine();
        // System.out.println(str);

        // 判斷
        for (int i = 0; i < str.length(); i++) {
            // 將str轉換成char
            char c = str.charAt(i);
            // 判斷c的類型
            if (c >= '0' && (int) c <= '9') {
                digital++;
            } else if ((c >= 'a' && c <= 'z') || (c >= 'A' && c <= 'Z')) {
                character++;
            } else if (c == ' ') {
                blank++;
            } else {
                other++;
            }
        }
        
        //輸出個數了
        System.out.println(digital);
        System.out.println(blank);

    }
}

運行結果:

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 1、列舉ASP.NET頁面之間傳值的幾種方式。 答:使用QueryString,如.../id=1;response.Redirect() 使用Session 使用Server.Transfer 使用Cookie 2、簡述private、protected、public、internal修飾符的訪問 ...
  • 用法 ...
  • 對AutoMapper.Mapper.CreateMap使用不當,導致併發情況下出現異常System.NullReferenceException、System.InvalidOperationException ...
  • 上一章節中對路由的註冊和匹配過程進行了介紹,知道了MVC的Http請求最終是交由MvcHandler處理的,而其處理過程就是對Controller的創建、執行和釋放。 本章將從以下幾點進一步對上面提到的三個過程進行介紹: ● MvcHandler概述 ● ControllerBuilder&Cont ...
  • ASP.NET MVC的路由是MVC應用的一個核心也是MVC應用處理的入口,作為一個開發者,在正常情況下僅僅需要做的就是根據需求去定義實體、業務邏輯,然後在MVC的Controller中去調用、View中去展現,“路由”僅僅是定義一個路由表,使用戶在點擊一個鏈接時,應用能夠命中正確的Controll ...
  • 反射是程式猿的好幫手,有了反射你可以少寫一半的代碼。下麵是一些常用的反射擴展方法。 如有高見,歡迎交流與分享:) ...
  • 之前的文章中介紹了My Blog文章維護功能的開發,開發過程中使用Area的方法建立了用於維護文章的Controller、View和Model。但是無論代碼怎麼變對於瀏覽器來說都是通過一個url地址去訪問,現在My Blog可用的url有以下幾個: http://localhost:52356/ - ...
  • 本文以近乎v5.2產品為例截圖介紹,近乎產品是基於asp.net mvc 5.0框架。大家可以下一個近乎源碼版,來進一步熟悉和瞭解學習。 近乎下載地址:http://www.jinhusns.com/ MVC項目一啟動會首先進入到Global執行Application_Start()這個方法註冊 區 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...