循环、数组截取、随机数的产生(2015/7/30)
来源:互联网 发布:怎样用淘宝客推广 编辑:程序博客网 时间:2024/06/06 07:40
- 循环练习题
- 基本知识回顾
- 用if进行判断不同的分支做不同的处理
- 求奇数和
- 数组截取
- 用数组存储随机产生十个数
- 数组按升序排列
- 求4行4列数组的对角线和副对角线上的乘积
- 判断邮箱是否正确
循环练习题
基本知识回顾
break跳出所有循环,continue跳过本次循环。十进制转二进制,求出二进制中1的个数
public static void main(String[] args) { int a = 7; int number = 0; while(a>0){ int b = 1; b = a & b; a >>= 1;//右移相当于除二 if (b == 1) { number++; } } System.out.println(number); }
用if进行判断,不同的分支做不同的处理
Scanner input=new Scanner(System.in); System.out.println("请输入n的值"); int number=input.nextInt(); double sum=0; for(int i=1;i<number+1;i++){ if(i%2==0){//用if判断,奇数则加,偶数则减。 sum-=(1.0/i); }else{ sum+=(1.0/i); } } System.out.println(sum);
求奇数和
计算1+3+5+7+9+……..+(2*21-1)=?
int sum=0; for(int i=1;i<21;i++){ int m=1; m=m<<i; sum+=m-1; }
数组截取
public static void main(String[] args) { int array1[] = { 12, 3, 45, 67, 32, 24, 67, 90, 41 }; int array2[] = Arrays.copyOfRange(array1, 2, 6);// 数组截取 System.out.println(Arrays.toString(array2)); }
用数组存储随机产生十个数
public static void main(String[] args) { int[] array1=new int[10]; Random rd=new Random();//创建一个新对象 for(int i=0;i<array1.length;i++) { array1[i]=rd.nextInt(90)+10;//产生随机数 } Arrays.sort(array1);// System.out.println(Arrays.toString(array1));不用for循环输出,而用tostring()输出for(int i=0;i<array1.length;i++){ System.out.print(array1[i]+"\t");}
数组按升序排列
public static void main(String[] args) { int array1[] = { 12, 23, 41, 25, 56, 78, 5, 96 }; int array2[] = new int[10]; Arrays.sort(array1);// for(int i=0;i<array1.length;i++){// System.out.print(array1[i]+"\t");// } System.out.println(Arrays.toString(array1));//tostring返回指定数组的表示形式 }
求4行4列数组的对角线和副对角线上的乘积
public static void main(String[] args) { int[][] array1 = new int[4][4]; // Scanner input = new Scanner(System.in); Random rd = new Random(); int sum1 = 1; int sum2 = 1; String str = ""; String str1 = ""; for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1[i].length; j++) { array1[i][j] = rd.nextInt(9); System.out.print(array1[i][j] + "\t"); } System.out.println(); } for (int i = 0; i < array1.length; i++) { for (int j = 0; j < array1[i].length; j++) { if (i == j) { str += "\t" + array1[i][j]; sum1 *= array1[i][j]; } if (i + j == 3) { str1 += "\t" + array1[i][j]; // System.out.print(array1[i][j] + "\t"); sum2 *= array1[i][j]; } } } System.out.println("对角线的数:" + str); System.out.println("对角线的乘积是:" + sum1); System.out.println("副对角线的数:" + str1); System.out.println("副对角线上的乘积是:" + sum2); } //另一种方法 public static void main(String[] args) { int[][] array1 = new int[4][4]; Random rd = new Random(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { array1[i][j] = rd.nextInt(9); } System.out.println(Arrays.toString(array1[i])); } String str1 = ""; String str2 = ""; for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { if (i == j) { str1 += "\t" + array1[i][j]; } if (i + j == 3) { str2 += "\t" + array1[i][j]; } } } int temp = 1; int temp2 = 1; for (int i = 0; i < 4; i++) { temp = temp * array1[i][i]; temp2 = temp2 * array1[i][3 - i]; } System.out.println(str1); System.out.println("对角线上的乘积是:" + temp); System.out.println(str2); System.out.println("副对角线上的乘积是:" + temp2); }
判断邮箱是否正确
public static void main(String[] args) { Scanner input = new Scanner(System.in); String email = input.next(); boolean flag = false; do { if (email.contains("@")) { int index = email.indexOf("@"); String start = email.substring(0, index); boolean isLetterOrNumber = true; for (int i = 0; i < start.length(); i++) { char ch = start.charAt(i); if (!Character.isLetterOrDigit(ch)) { isLetterOrNumber = false; break; } } if (isLetterOrNumber) { System.out.println("开头是以数字或字母开始的"); } else { System.out.println("不是以数字或字母开头的"); System.out.println("不是正确的邮箱"); break; } if (email.contains(".")) { int index1 = email.lastIndexOf("."); String middle = email.substring(index + 1, index1); boolean middleIsLetterOrNumber = true; for (int i = 0; i < middle.length(); i++) { char ch = middle.charAt(i); if (!Character.isLetterOrDigit(ch)) { middleIsLetterOrNumber = false; break; } } if (middleIsLetterOrNumber) { System.out.println("中间是以数字或字母开始的"); } else { System.out.println("中间不是以数字或字母开始的"); System.out.println("不是正确的邮箱"); break; } if (email.endsWith(".com") || email.endsWith(".cn") || email.endsWith(".net")) { System.out.println("是正确的邮箱"); } else { System.out.println("但是后缀不正确,不是正确的邮箱"); } } } else { System.out.println("没有@不是正确的邮箱"); } } while (flag); }
0 0
- 循环、数组截取、随机数的产生(2015/7/30)
- 面试:数组:产生随机数
- 循环中产生伪随机数
- 循环中产生伪随机数
- 循环中产生伪随机数
- 解决for循环里面产生相同随机数的问题
- 产生n个不重复的随机数放入数组中
- 关于随机数的产生
- 随机数的产生
- 随机数的产生
- 随机数的产生
- 随机数的产生
- dephi 随机数的产生
- 随机数产生的程序
- java随机数的产生
- 产生随机数的原理
- 随机数的产生
- 随机数的产生
- HDU 1171
- POJ3258—River Hopscotch—二分法求the largest mimmun
- Qt实战之开发CSDN下载助手 (3)(结束篇)
- SSH开发——菜鸟那些事儿
- zoj 3882 Help Bob(博弈)
- 循环、数组截取、随机数的产生(2015/7/30)
- STL学习记录(十四):其它几种算法
- VS2010关于error LNK1123: 转换到 COFF 期间失败: 文件无效或损坏
- ARM处理器体系架构详细说明
- uvalive 4973
- Scala学习第五天:数组的基本操作,数组的进阶操作和多维数组
- Hdu 1789 Doing Homework again
- pycharm快捷键、常用设置、包管理
- Selenium IDE简介