1. 程式人生 > >每天一點兒JAVA之陣列篇--一維和多維陣列的初始化和基本操作

每天一點兒JAVA之陣列篇--一維和多維陣列的初始化和基本操作

<span style="font-family: Arial, Helvetica, sans-serif;"> * <p>Description: 演示一維陣列和多維陣列的初始化和基本操作</p></span>
 * <p>Copyright: Copyright (c) 2014</p>
 * <p>Filename: myArray.java</p>
 * @author w王海濤
 * @version 0.1
 */
 public class  myArray{
   //初始化陣列變數
   char[] cNum = {'1','2','3','4','5','6','7','8','9','0'};
   char[] cStr = {'a','b','c','d','e','f','g','h',
                  'i','j','k','l','m','n','o','p',
                  'q','r','s','t','u','v','w','x','y','z'};
   int[] iMonth = {31,28,31,30,31,30,31,31,30,31,30,31};
   String[] sMail = {"@","."};
/**
 *<br>方法說明:校驗電子郵件
 *<br>輸入引數:String sPara 被校驗的電子郵件字元
 *<br>返回型別:boolean 如果校驗的格式符合電子郵件格式返回true;否則返回false
 */   
   public void isMail(String sPara){
	   int i=0;
   	  if(sPara.indexOf(sMail[i])==-1&&sPara.indexOf(sMail[i+1])==-1)//未檢索到@和.
	   	  {
	   		 System.out.println(sPara+"該內容不符合電子郵件標準");
	   	  }
   	  else 
	   	  {
	   		System.out.println(sPara+"該內容是電子郵件標準");
	   	  }
       
   }
/**
 *<br>方法說明:判斷是否是數字
 *<br>輸入引數:String sPara。 需要判斷的字串
 *<br>返回型別:boolean。如果都是數字型別,返回true;否則返回false
 */   
   public boolean isNumber(String sPara){
	   System.out.println(sPara);
   	 int iPLength = sPara.length();
   	 for(int i=0;i<iPLength;i++){
   	  char cTemp = sPara.charAt(i);
   	  boolean bTemp = false;
   	  for(int j=0;j<cNum.length;j++){
   	    if(cTemp==cNum[j]){//迴圈將當前的字元與cNum中的內容進行比較來判定是否是數字
   	      bTemp = true;
   	      break;
   	    }
   	  }
   	  if(!bTemp)
   	  {
   		//System.out.println(sPara);
   		 return false; 
   	  } 
   	 }
   //	System.out.println(sPara);
    return true;
   }
/**
 *<br>方法說明:判斷是否都是英文字元
 *<br>輸入引數:String sPara。要檢查的字元
 *<br>返回型別:boolean。如果都是字元返回true;反之為false
 */   
   public boolean isString(String sPara){
	   System.out.println(sPara);
   	 int iPLength = sPara.length();
   	 for(int i=0;i<iPLength;i++){
   	  char cTemp = sPara.charAt(i);
   	  boolean bTemp = false;
   	  for(int j=0;j<cStr.length;j++){
   	    if(cTemp==cStr[j]){
   	      bTemp = true;
   	      break;
   	    }
   	  }
   	  if(!bTemp)
     		 return false; 
   	 }
    return true;
    
   }
/**
 *<br>方法說明:判斷是否是閏年
 *<br>輸入引數:int iPara。要判斷的年份
 *<br>返回型別:boolean。如果是閏年返回true,否則返回false
 */   
   public boolean chickDay(int iPara){
     return iPara%100==0&&iPara%4==0;
   }
/**
 *<br>方法說明:檢查日期格式是否正確
 *<br>輸入引數:String sPara。要檢查的日期字元
 *<br>返回型別:int。0 日期格式正確,-1 月或這日不合要求, -2 年月日格式不正確 
 */
   public int chickData(String sPara){
	   System.out.println(sPara);
   	boolean bTemp = false;
   	//所輸入日期長度不正確
   	if(sPara.length()!=10) return -2;
   	//獲取年
   	String sYear = sPara.substring(0,4);
   	//獲取月份
   String sMonth = sPara.substring(5,7);
   	//獲取日
   	String sDay = sPara.substring(8,10);
   	//將年、月、日轉換為數字
   	int iYear = Integer.parseInt(sYear);
   	int iMon = Integer.parseInt(sMonth);
   	int iDay = Integer.parseInt(sDay);
   	if(iMon>12) return -1;
   	//閏年二月處理
   	if(iMon==2&&chickDay(iYear)){
   	  if(iDay>29) return 2;
   	}else{
   	  if(iDay>iMonth[iMon-1]) return -1;
   	}
   	return 0;
   }
/**
 *<br>方法說明:主方法,測試用
 *<br>輸入引數:
 *<br>返回型別:
 */ 
   public static void main(String[] arges){
     myArray mA = new myArray();
     //校驗郵件地址
       mA.isMail("
[email protected]
"); mA.isMail("tom163com"); //演示是否是數字 boolean bIsNum = mA.isNumber("1234"); System.out.println("1:bIsNum="+bIsNum); bIsNum = mA.isNumber("123r4"); System.out.println("2:bIsNum="+bIsNum); //演示是否是英文字元 boolean bIsStr = mA.isString("wer"); System.out.println("1:bIsStr="+bIsStr); bIsStr = mA.isString("wer3"); System.out.println("2:bIsStr="+bIsStr); System.out.println("0 日期格式正確,-1 月或這日不合要求, -2 年月日格式不正確 "); //演示檢查日期 int iIsTime = mA.chickData("2003-12-98"); System.out.println("1:iIsTime="+iIsTime); iIsTime = mA.chickData("2003-111-08"); System.out.println("2:iIsTime="+iIsTime); iIsTime = mA.chickData("2003-10-08"); System.out.println("3:iIsTime="+iIsTime); iIsTime = mA.chickData("2000-02-30"); System.out.println("4:iIsTime="+iIsTime); } }


相關推薦

每天一點兒JAVA陣列--維和陣列初始基本操作

<span style="font-family: Arial, Helvetica, sans-serif;"> * <p>Description: 演示一維陣列和多維陣列的初始化和基本操作</p></span> * <

Go語言 陣列初始基本操作

package main import "fmt" func main() { // 陣列同一型別的集合 var arr [50]int // 1 賦值 // 運算元組,下標從0開始,索引從0到len()-1 for i := 0; i < len(arr); i++ { a

Python Numpy 陣列初始基本操作

一.基礎: Numpy的主要資料型別是ndarray,即多維陣列。它有以下幾個屬性: ndarray.ndim:陣列的維數 ndarray.shape:陣列每一維的大小 ndarray.size:陣列中全部元素的數量 ndarray.dtype:陣列中

51Nod1085 0-1揹包(維和陣列實現)

揹包是典型的動態規劃問題,關於揹包問題的詳解,推薦部落格:點選開啟連結(這篇部落格有點錯誤,程式碼for迴圈裡錯了,不過講解 的很詳細) 題目如下: 在N件物品取出若干件放在容量為W的揹包裡,每件物品的體積為W1,W2……Wn(Wi為整數),與之相對應的價值為P1,P2……Pn(Pi為整數)

如何實現維和陣列的遍歷?

可使用for語句遍歷陣列元素,下面提供兩種實現方式,一種是原有for迴圈,另一種是從JDK 5.0 開始提供的新式for 迴圈。 □ 原有for迴圈 String[] arr ={“tom”,“rose”,“sunny”}; for(int i=0;i<arr.length;i++){

使用newvector實現維和陣列

1.變長一維陣列      這裡說的變長陣列是指在編譯時不能確定陣列長度,程式在執行時需要動態分配記憶體空間的陣列。實現變長陣列最簡單的是變長一維陣列,你可以這樣做:  注意int *p=new int[len];這一句,你不能這樣做:int  p[len];     

numpy學習——難點解析(陣列的廣播計算方式

解析引語 在歸納整理numpy的知識前,先整理一部分曾經在學習時遇到的個人認為的難點,在其他介紹基礎使用方式的文章時,方便引用此文 首先講一下廣播計算的原則: 如果兩個陣列的後緣維度(即從末尾開始算起的維度)的軸長度相符或其中一方的長度為1,則認為他們是廣播相容的。廣播會在缺失和(或)長

java double-check lazy load------effedctive java 第七十條:慎用延遲初始(這個變數的作用是確保field只在已經被初始的情況下讀取次)

private volatile FieldType field; FieldType getField(){ FieldType result = field; if(result==null){ synchronized(this){ re

php比較兩個二陣列是否相同,陣列

幾天前跟同事討論一個很有趣的問題,一直想寫下來結果總沒有時間,今天終於有時間了。 如題:php如何比較兩個二維陣列是否相同? 這個問題我在群裡也問了很多人,大多數就是遍歷了 有的人遍歷一次,有的人遍歷兩次。大概就是: foreach($arr1 as $k=>

強化C陣列作為函式引數-陣列的本質

#include <stdio.h> #include <stdlib.h> #include <string.h> //多維陣列的本質就是一個指標陣列,由於多維

Qt入門基礎 ( ) :Qt4及Qt5的下載與安裝

mingw ins 第3版 點擊 調試 但我 關系 構建 eas 轉載請註明出處:CN_Simo. 導語: Qt是一個跨平臺的C++圖形界面應用程序框架。它提供給開發者建立圖形用戶界面所需的功能,廣泛用於開發GUI程序,也可用於開發非GUI程序。Qt很容易擴展,並

JAVA隨筆(Timer源代碼分析scheduleAtFixedRate的使用)

exce 啟動 get stat dsm ldr 基礎篇 ask pty 寫完了基礎篇,想了非常久要不要去寫進階篇。去寫JSP等等的用法。最後決定先不去寫。由於自己並非JAVA方面的大牛。眼下也在邊做邊學,所以決定先將自己不懂的拿出來學並記下來。 Timer是Java自

JavaIO(十)BufferedReaderBufferedWriter

可能 pla lines 不能 循環 介紹 出現 簡單 描述符   轉載請註明源出處:http://www.cnblogs.com/lighten/p/7074488.html 1.前言   按照字節流的順序一樣,字符流也提供了緩沖字符流,與字節流不同,Java雖然提供了F

java學習總結--寫在正式成為碼農年後

總結 總結篇 今天 一個 真的是 學習總結 數據 也有 後來 一直想寫一寫工作了一年多的總結與感悟,今天正好有時間,也有這個興致,隨手總結一下這一年來學習及工作的情況。 大學時很無奈地被選擇了計算機專業,本人對計算機,不討厭,也算不上多喜歡。只是當慣

前端開發CSS

重要 utf import 無效 nbsp 出現 bsp 示例 減少 一、CSS介紹和語法 二、CSS引入方式 三、基本選擇器 四、高級選擇器 五、偽類選擇器 六、偽元素選擇器 1?? CSS介紹和語法   1、 CSS的介紹   (1)為什麽需要C

Java開發筆記(二十)二陣列的擴充套件

前面介紹的陣列容納的是一串數字,彷彿一根線把這組數字串了起來,故而它只是一維陣列。一維陣列用來表示簡單的數列尚可,要是表達複雜的平面座標系,那就力不從心了。由於平面座標系存在水平和垂直兩個方向,因此可用二維陣列來儲存平面座標系上的一組座標頂點,其中第一維是頂點佇列,第二維是頂點的橫縱座標。許多個平面組合起來變

C/C++陣列詳解(維和

陣列這東西,說說都懂,但是似乎並沒有完全吃透,導致很多地方有疑惑。所以再梳理一遍。   陣列定義 陣列是存放型別相同的物件的容器,這些物件本身沒有名字,需要通過其所在位置訪問。 從定義中可以看出,陣列存放的是物件且型別相同。所以不存在引用的物件(引用不是物件)

“全棧2019”Java第三十章:二陣列陣列詳解

難度 初級 學習時間 10分鐘 適合人群 零基礎 開發語言 Java 開發環境 JDK v11 IntelliJ IDEA v2018.3 文章原文連結 “全棧2019”Java第三十一章:二維陣列和多維陣列詳解 下一章 “全棧2019”Java第三十二章:增強for迴

java道()學習的方法

行java之道(一)學習的心得 自序 我是一名普通的JAVA開發從業者,接下來一段時間我會更新一些自己的心得體會,之所以想要這麼做,一是因為自己早有將自己的心得體會記錄下來的願景;二是因為自己在近來招聘中所遇見的應聘者誇誇其談框架,卻對基礎答非所問

最大子陣列維和

經典演算法題。 【一維陣列】 一個有N個整數元素的一維陣列,最大連續的子陣列和是多少? 大致思路如下:首先定義一個變數儲存以某個元素結尾的最大陣列和。再定義一個變數儲存全域性的最大子陣列和。然後初