目录
一组数字中每三个添加一个逗号
生成10个两位随机数,然后再进行排序
生成10个两位随机数,然后再进行排序
复制指定数组||将指定数组的指定范围复制到一个新数组
生成一个三行三列的数组
大小写变换问题
求对角线的值
[判断是否为email] (#h)
一组数字中每三个添加一个逗号
/********** 一组数字中每三个添加一个逗号***********/
package com.day4_2015_7_17;
public class a {
public static void main(String[] args) {
//StringBuffer线程安全的可变字符序列。一个类似于 String 的字符串缓冲区,但不能修改.
//虽然在任意时间点上它都包含某种特定的字符序列,但通过某些方法调用可以改变该序列的长度和内容。
//StringBuffer 上的主要操作是 append 和 insert 方法,可重载这些方法,以接受任意类型的数据。
//每个方法都能有效地将给定的数据转换成字符串,然后将该字符串的字符添加或插入到字符串缓冲区中。
//append 方法始终将这些字符添加到缓冲区的末端;而 insert 方法则在指定的点添加字符。
StringBuffer s=new StringBuffer("123456789");
for (int i = s.length()-3;i>0; i-=3) {
s.insert(i, ",");//每三个数加一个,
}
System.out.println(s);
s.append("h");//在数字末端加"h"
System.out.println(s);
}
}
生成10个两位随机数,然后再进行排序
/******************生成10个两位随机数,然后再进行排序***************/
package com.day4_2015_7_17;
import java.util.Arrays;
import java.util.Random;
public class b {
public static void main(String[] args) {
int a[] = new int[10];//这里的数组作用是为了用来盛放生成的随机数的,
//因为电脑每次只能生成一个随机数
Random random = new Random();//生成随机数
//用一个for循环,从下标0开始循环十次
for (int i = 0; i < a.length; i++) {
int j = random.nextInt(100);//生成100以内的随机数赋值给j
while (j < 10) {
j = random.nextInt(100);//当生成的随机数小于10时再生成随机数
}
a[i] = j;//把生成的随机数赋值给数组a
}
Arrays.sort(a);//一种排序方法。对数组a按从小到大进行排序
//这里的for循环是为了能把排好的随机数依次打出来
for (int k = 0; k < a.length; k++) {
System.out.print(a[k] + "\t");
}
}
}
生成10个两位随机数,然后再进行排序
/******************生成10个两位随机数,然后再进行排序***************/
package com.day4_2015_7_17;
import java.util.Arrays;
import java.util.Random;
public class c {
public static void main(String[] args) {
int[] array=new int[10];
//for循环十次生成十个随机数
for (int i = 0; i < 10; i++) {
Random random=new Random();//生成随机数的方法
array[i]=random.nextInt(90)+10;//让生成的随机数是两位整数
System.out.println(array[i]);
}
//冒泡排序法
int temp=0;
for (int i = 0; i < array.length-1; i++) {
//这里的for循环是用来控制排序轮数
for (int j = 0; j < array.length-i-1; j++) {
//这里的for循环是用于比较数组中每个临近元素的大小,
//以确定是否交换位置,对比和交换次数随排序轮数而减少
if (array[j]<array[j+1]){
temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
System.out.println(Arrays.toString(array));
}
}
}
System.out.println(Arrays.toString(array));
}
}
复制指定数组||将指定数组的指定范围复制到一个新数组
/*******复制指定数组||将指定数组的指定范围复制到一个新数组*********/
package com.day4_2015_7_17;
import java.util.Arrays;
public class d {
public static void main(String[] args) {
int[]scores1={80,43,74,21,9,12,13,43,53};
scores1 = Arrays.copyOf(scores1,2);//复制指定数组
for (int i = 0; i < scores1.length; i++) {
System.out.print(scores1[i]+"\t");
}
System.out.println();
int[]scores2={80,43,74,21,9,12,13,43,53};
scores2=Arrays.copyOfRange(scores2,1,3);//将指定数组的指定范围复制到一个新数组。
for (int i = 0; i < scores2.length; i++) {
System.out.print(scores2[i]+"\t");
}
}
}
生成一个三行三列的数组
/************生成一个三行三列的数组****************************/
package com.day4_2015_7_17;
public class e {
public static void main(String[] args) {
int[][]array=new int[3][];//声明一个二维数组
array[0]=new int[]{4,9,2};
array[1]=new int[]{3,5,7};
array[2]=new int[]{8,1,6};
for (int i = 0; i < array.length; i++) {//循环列
int[] item=array[i];//声明一个新的数组item,
for (int j = 0; j < item.length; j++) {
System.out.print(item[j]+" ");//每循环一次得到一行
}
System.out.println();
}
}
}
大小写变换问题
/**********大小写变换问题**************/
package com.day4_2015_7_17;
public class f {
public static void main(String[] args) {
String s="dfdfg23SDGDFHGdsG";
for (int i = 0; i < s.length(); i++) {
char c=s.charAt(i);
if (Character.isLowerCase(c)){//判断是否为小写字母
c=Character.toUpperCase(c);//把小写字母转换为大写字母
System.out.print(c);
}
else{
if(Character.isUpperCase(c)){//判断是否为大写字母
c=Character.toLowerCase(c);//把大写字母转换为小写字母
}
System.out.print(c);
}
}
}
}
求对角线的值
/***********求对角线的值*******************/
package com.day4_2015_7_17;
import java.util.Random;
public class g {
public static void main(String[] args) {
int indexMax=5;
int [][] a=new int[indexMax][indexMax];//五行五列的二维数组
Random random=new Random();//产生随机数的方法
for (int i = 0; i < indexMax; i++) {
for (int j = 0; j < indexMax; j++) {
a[i][j]=random.nextInt(9)+1;
}
}
for (int i = 0; i <indexMax; i++) {
for (int j = 0; j < indexMax; j++) {
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
//求对角线的值
int sum=1;
int sum2=1;
for (int i = 0; i <indexMax ; i++) {
sum=sum*a[i][i];
sum2=sum*a[i][indexMax-1-i];
}
System.out.println("主对角线"+sum);
System.out.println("副对角线"+sum2);
}
}
判断是否为email
/*************判断是否为email********************/
package com.day4_2015_7_17;
import java.util.Scanner;
public class h {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String email = scan.next();//从键盘输入一个Email地址
boolean isEmail = false;
if(email.contains("@"))//如果此字符串包含'@',此方法返回true,否则返回false。
{
if(email.indexOf("@")==email.lastIndexOf("@"))
//s.indexOf()返回指定字符在此字符串中第一次出现处的索引。
//s.lastIndexOf()返回指定字符在此字符串中最后一次出现处的索引
{
String emailStart = email.substring(0, email.indexOf("@"));
//s.substring(a,b)返回一个新字符串,它是此字符串的一个子字符串。
boolean isLetterOr_OrNum=isLetterOrNum(emailStart);
//s.isLetterOrNum()在下面的主程序中定义了这个方法,传入一个字符串作为变量,
//即可实现判断这个字符串中是否是字母数字下划线
if(isLetterOr_OrNum)
{
if(email.endsWith(".com")||email.endsWith(".cn")||email.endsWith(".net"))
//endsWith测试此字符串是否以指定的后缀结束
{
String emailMiddle = email.substring(email.lastIndexOf("@")+1, email.lastIndexOf("."));
isEmail=isLetterOrNum(emailMiddle);
//isLetterOrNum在下面的主程序中定义了这个方法,传入一个字符串作为变量,
//即可实现判断这个字符串中是否是字母数字下划线
}
}
}
}
if(isEmail)//isEmail是个布尔值
{
System.out.println("IsEmail");
}else
{
System.out.println("IsNotEmail");
}
}
//这是写的一个方法,在主程序中调用这个方法,传入一个字符串作为变量,
//即可实现判断这个字符串中是否是字母数字下划线
public static boolean isLetterOrNum(String s) {
boolean isLetterOrNum=true;
for (int i = 0; i < s.length(); i++)
{
char ch=s.charAt(i);//charAt()方法返回指定索引位置的char值
if(!(Character.isLetter(ch)||Character.isDigit(ch)||(ch=='_')))
//s.isLette()此方法返回true,如果字符是字母,否则返回false
//s.isDigit()此方法返回true,如果字符是数字,否则为false。
{
isLetterOrNum=false;
break;
}
}
return isLetterOrNum;
}
}