Java_问题(25——30)


25.eclipse中获取程序执行所需要的空间:

  1. package test;

  2. public class Main {

  3. public static void main(String[] args) {

  4. long start = System.currentTimeMillis();

  5. //要测试的程序或方法

  6. long end = System.currentTimeMillis();

  7. System.out.println("程序运行时间:"+(end-start)+"ms");

  8. }

  9. }


26.如何把一段逗号分隔的字符串转换成一个数组?

正则表达式:

Java中的 split  函数是用于按指定字符(串)或正则去分割某个字符串,结果以字符串数组形式返回;

例如:

  1. String str="1234@abc";

  2. String[] a = str.split("@");

  3. System.out.println("处理结果: "+a[0]+","+a[1]);   //输出的是: 处理结果: 1234,abc


27.注意输出时候length()函数的使用方式,数组无括号,String有括号:

String x = "sdfasdfasdfdas";

String[] y = x;

System.out.println(x.length());

System.out.println(y.length);


28.

happysneaker.com


29.打印个杨辉三角:

(1)笛卡尔组合数:

// 编写程序,输入n,分别以直角三角形方式和等腰三角形模式输出n阶杨辉三角。(用二维数组实现)  

#include<stdio.h>
//我的版本 
int c(int m,int n);
main()
{
    int i,j,n;
    scanf("%d",&n);
    for(i=0;i<=n;i++)
    {
        for(j=0;j<=i;j++)
            printf("%5d",c(i,j));
        printf("\n");
    }
        system("pause");7
}
int c(int m,int n)
{
    int i,j,p=1,s=1;
    for(i=m,j=0;j<n;j++,i--)
        p*=i;
    for(i=n,j=0;j<n;j++,i--)
        s*=i;
    return p/s;

}


(2)二维数组方法(学习此类输出的格式语法)

// 直角三角形

#define M 20
#define N 20
#include<stdio.h>
main()
{
    int i,j,n;
    int a[M][N];
    scanf("%d",&n);
    // 初始化数组
    for(i=0;i<n;i++){
        for(j=0;j<=i;j++)
        {
            if(i==j||j==0)
            {
                a[i][j]=1;
            }
            else
            {
                a[i][j]=a[i-1][j]+a[i-1][j-1];
            }
        }
    }
    
    
    // 输出数组
    for(i=0;i<n;i++)
    {
        for(j=0;j<=i;j++)
        {
            printf("%5d",a[i][j]);
        }
        printf("\n");
    }
    
    system("pause");    
}


//等腰三角形/////////////////////////////////////////////////////////////////////////////

#define M 20
#define N 20
#include<stdio.h>
main()
{
    int i,j,n;
    int a[M][N];
    scanf("%d",&n);
    for(i=0;i<n;i++){
        for(j=0;j<=i;j++)
        {
            if(i==j||j==0) // 第一列的第一个元素永远是1,或者坐标i==j时的元素也是1
            {
                a[i][j]=1;
            }
            else
            {
                a[i][j]=a[i-1][j]+a[i-1][j-1]; // 其他元素就是上一层相邻俩元素之和,比如a[4][1]就是上一级的a[3][0]和a[3][1]的和
            }
        }
    }

    for(i=0;i<n;i++)
    {
		for(j=0;j<n-i;j++)
        {printf(" ");}
        for(j=0;j<=i;j++)
        {
            printf("%d ",a[i][j]);
        }
        printf("\n");
    }
system("pause");    
    
}


30.

Unity那些事儿
请先登录后发表评论
  • 最新评论
  • 总共0条评论