1. 程式人生 > >for-each用法誤區(不能改變陣列元素值)

for-each用法誤區(不能改變陣列元素值)

/**
 * 資料加密傳輸
 */
import java.util.Scanner;

public class secretPass {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int num = 0;
        while (true) {
            System.out.println("請輸入四位正整數:");
            num = input.nextInt();
            if (num > 999 && num < 10000) {
                System.out.println("輸入資料有效!");
                break;
            } else {
                System.out.println("輸入資料無效,請重新輸入!");
            }
        }
        System.out.println("加密前的資料是:" + num);
        int[] arrs = new int[4];
        arrs[0] = num % 10; // 取個位
        arrs[1] = num / 10 % 10; // 取十位
        arrs[2] = num / 100 % 10; // 取百位
        arrs[3] = num / 1000; // 取千位
        // 不能使用for-each語句改變arrs陣列的元素
        // for-each只能用來遍歷列印陣列元素

        
        for (int n : arrs) {
            n = (n + 5) % 10;
            System.out.print(n+" ");
        }
        
        /*
        for (int i = 0; i < arrs.length; i++) {
            arrs[i] = (arrs[i] + 5) % 10;
        }
        */

        /*
        for (int i = 0; i < arrs.length; i++) {
            System.out.print(arrs[i] + " ");
        }
        */

        int tmp1 = arrs[0];
        int tmp2 = arrs[1];
        int tmp3 = arrs[2];
        int tmp4 = arrs[3];
        arrs[0] = tmp4;
        arrs[1] = tmp3;
        arrs[2] = tmp2;
        arrs[3] = tmp1;
        System.out.print("加密後的資料是:");
        for (int i : arrs) {
            System.out.print(i);
        }
    }
}
輸出結果是:

相關推薦

for-each用法誤區不能改變陣列元素

/**  * 資料加密傳輸  */ import java.util.Scanner; public class secretPass {     public static void main(String[] args) {         Scanner input = new Scanner(Syst

for-each語句不能改變arrs陣列,需用for迴圈

/**  * 資料加密傳輸  */ import java.util.Scanner; public class secretPass {     public static void main(String[] args) {         Scanner input = new Scanner(Syst

Java學習筆記for-each循環與數組的拷貝

i++ nbsp 學習筆記 data code xxxxx color 管理者 java for-each循環 //第一次循環,k=data[0]; //第二次循環,k=data[1]; //... for(int k:data) //data是數組 { xxx

JAVA-for each用法

for each 迴圈 這是java中功能很強的一種迴圈方式,可以用來依次處理陣列中的每個元素,而不必定義下標值。 語法格式為:for(variable,collection) statement variable,定義一個變數暫存集合中的每一個元素,並執行相應語句。

js 陣列元素屬性不一致 實現平均分歡迎支援別樣簡單解法

舉例:let resArr = [{'name':'p1',scores:[{'a1':15},{'a2':25},{'a3':38},{'a4':45},{'a5':51},{'a6':63},{'a7':73},{'a8':81},{'a9':29},{'a10':10}]},{'name':'

mysql 觸發器 trigger用法 three 稍微復雜的

建立 我們 詳解 list sel ges 數據表 指定 進行 MySQL包含對觸發器的支持。觸發器是一種與表操作有關的數據庫對象,當觸發器所在表上出現指定事件時,將調用該對象,即表的操作事件觸發表上的觸發器的執行。 創建觸發器 在MySQL中,創建觸發器語法如下: CR

mysql 觸發器 trigger用法 two 稍微復雜的

iter 幫我 時間 arc 有一個 spa 語法 name 刪除 觸發器(trigger):監視某種情況,並觸發某種操作。 觸發器創建語法四要素:1.監視地點(table) 2.監視事件(insert/update/delete) 3.觸發時間(after/before

C++ const用法小結 歡迎大家拍磚

固定 ant oid 幹什麽 pause 參數傳遞 clas 自定義類型 期望 C++const 關鍵字小結 const 是constant的縮寫,本意是不變的,不易改變的意思。 const 在C++中是用來修飾內置類型變量,自定義對象,成員函數,返回值,函數

盒子模型包含級元素分類

pan color 盒子模型 inpu 首字母 tex 寬度 NPU 鍵盤 一、CSS的盒子模型 1、CSS標準盒子模型:寬度 = 內容寬度(content)+ border + padding + margin 2、低版本IE盒子模型:寬度 = 內容寬度(content

python操作MySQL資料庫心得numpy陣列寫入資料庫

    最近突發奇想,想把以前用Matlab實現的對高頻彩的開獎資料進行抓取並儲存到本地的專案重新用python做一遍。加上前段時間學習的MySQL,想將讀取回來的開獎資料存放到資料庫裡試試看。     廢話不多說,實操看看。 網頁下載器 這部分就

C#泛型效能進階之排序遍歷後輸出元素

而foreach語句是通過迭代變數來列舉集合的元素,為集合的每個元素執行嵌入語句。也就是說,foreach語句是通過迭代變數在集合內對其自身的引用來實現遍歷的,ArrayList類列表同樣是通過物件值引用來實現的。 而這也是稱之為強型別的原因,因為在編譯時沒有辦法告訴我們列表中資料的實際型別

Selenium3+webdriver學習筆記4css方式元素定位

#!/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriverimport time,os# about:addons 火狐瀏覽器安裝元件,訪問的地址# <input id="kw" name="wd" class="s

Selenium3+webdriver學習筆記3xpath方式元素定位

#!/usr/bin/env python# -*- coding:utf-8 -*-from selenium import webdriverimport time,os# about:addons 火狐瀏覽器安裝元件,訪問的地址# <input id="kw" name="wd" class="s

2018.11.30 spoj220 Relevant Phrases of Annihilation字尾陣列+二分答案

傳送門 程式碼: 先用特殊字元把所有字串連線在一起。 然後二分答案將 s a sa

2018.11.28 poj3294 Life Forms字尾陣列+雙指標

傳送門 字尾陣列經典題目。 我們先把所有的字串都接在一起。 然後求出 h t ht

2018.11.24 poj3415Common Substrings字尾陣列+單調棧

傳送門 常數實在壓不下來(蒟蒻開O(3)都過不了)。 但有正確性233. 首先肯定得把兩個字串接在一起。 相當於 h e

兩數之和有序陣列的情況

在LeedCode中有一個兩數之和的練習,那是無序的陣列。現在,對其進行深一步討論,加入該陣列是有序的,這裡僅僅以升序做為例子。 找出一對索引,並返回。 分為兩種情況: 找出一組索引就直接返回。 找出所有符合條件的索引,返回。 import java

Newcoder 139 I.Substring字尾陣列+組合數學

Description 兩個字串u1...uku1...uk和v1...vlv1...vl是同構的當且僅當k=lk=l且存在一個單射gg使得ui=g(vi),1≤i≤kui=g(vi),1≤i≤k.

18.12.10 POJ 3450 Corporate Identity字尾陣列+二分法

描述 Beside other services, ACM helps companies to clearly state their “corporate identity”, which includes company logo but also other signs, like trademar

poj2406 Power String字尾陣列DC3/kmp

題意 問該串是最短迴圈節重複了幾次而形成的串,輸出這個次數。 題解 ①kmp顯然可做,求len-next[len]即迴圈節的長度,然後判斷是否能被len整除即可。 ②字尾陣列:列舉迴圈節長度i,i從1到len/2,如果長度為i,則迴圈節顯然為0-(i-1)的子串 先