Java第一课

栗子一:求两个数的最大公约数

import java.util.Scanner;
public class GreatestDivisor 
{
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        System.out.print("Please input the number1:");  
        int number1=input.nextInt();
        System.out.print("Please input the number2:");
        int number2=input.nextInt();

        int gDivisor=Divisor(number1,number2);
        System.out.println("The greast divisor is "+gDivisor);  
    }

    public static int Divisor(int a,int b)
    {
        int gd=0,k=1;
        while(k<=a&&k<=b)
        {
            if((a%k==0)&&(b%k==0))
                gd=k;
            k++;
        }
        return gd;
    }   
}

栗子2:十进制转换为十六进制

import java.util.Scanner;
public class D2H
{
    public static void main(String[] args)
    {
        Scanner input=new Scanner(System.in);
        System.out.print("Please input your number in decimal:");
        int num=input.nextInt();
        String str=Dec2Hex(num);
        System.out.println("The transformed number "+num+" is:"+str);   
    }
    public static String Dec2Hex(int deci)
    {
        String hex="";

        while(deci!=0)
        {
            int mod=deci%16;
            hex=num2char(mod)+hex;
            deci=deci/16;
        }
        return hex;
    }
    public static char num2char(int nu)
    {
        if(nu>=0&&nu<=9)
            return (char)(nu+'0');
        else
            return (char)(nu-10+'A');

    }   
}

这里写图片描述
栗子三:抓牌游戏


public class DeckofCards 
{
    public static void main(String[] args)
    {
        int[] deck=new int[52];
        String[] suits={"Spades","Hearts","Diamonds","Clubs"};
        String[] ranks={"Ace","2","3","4","5","6","7","8","9","10","Jack","Queen","King"};

        for(int i=0;i<deck.length;i++)
            deck[i]=i;
        for(int i=0;i<deck.length;i++)
        {
            int index=(int)(Math.random()*deck.length);
            int temp=deck[i];
            deck[i]=deck[index];
            deck[index]=temp;
        }

        for(int i=0;i<4;i++)
        {
            String suit=suits[deck[i]/13];
            String rank=ranks[deck[i]%13];
            System.out.println("Card number "+deck[i]+":"+rank+" of "+suit);
        }           
    }
}

栗子四:统计每个字母出现的次数

import java.util.Scanner;
public class Counts 
{
    /**
     * @param args
     */
    public static void main(String[] args) 
    {
        // TODO Auto-generated method stub
        char[] chars=CreatArray();
        System.out.println("The lowercase letters are: ");
        DisplayArray(chars);

        int[] counts=CountLetters(chars);
        System.out.println();
        System.out.println("The occurrences of each letter are: ");
        DisplayCounts(counts);  
    }   
    public static char[] CreatArray()
    {
        Scanner input=new Scanner(System.in);
        char[] chars=new char[100];
        System.out.print("Please input your string:");
        String str=input.next();
        chars=str.toCharArray();    
        return chars;
    }
    public static void DisplayArray(char[] chars)
    {
        for(int i=0;i<chars.length;i++)
            System.out.println(chars[i]);

    }
    public static int[] CountLetters(char[] chars)
    {
        int[] counts=new int[26];
        for(int i=0;i<chars.length;i++)
            counts[chars[i]-'a']++;
        return counts;
    }

    public static void DisplayCounts(int[] counts)
    {
        for(int i=0;i<counts.length;i++)
            System.out.println(counts[i]+""+(char)(i+'a')+" ");     
    }

}

这里写图片描述

若在上面处替换为

System.out.println(counts[i]+(char)(i+'a')+" ");

则变为
这里写图片描述
所以有人能告诉我怎么回事儿吗?

栗子五.文件输入和输出(使用PrintWriter写数据)

File类包含了许多获取文件属性的方法以及重命名和删除文件的方法,也就是说建立的File对象封装了文件和路径的属性,但是,这些方法不包括读写文件内容,使用java.io.PrintWriter另外还有java.util.Scanner类能够解决这类问题。

public class WriteData
{
    public static void main(String[] args) throws Exception //这是什么意思我现在还不知道....
    {
       java.io.File file=new java.io.File("scores.txt");    //创建file对象
       if(file.exists())
       {
           System.out.println("File already exists!");
           System.exit(0);        //System.exit(status),status表示退出的状态码,0表示正常退出,非0表示异常终止。
       }

       java.io.PrintWriter output=new java.io.PrintWriter(file);    //创建一个PrintWriter实例并且向文件scores.txt写入两行数据      
       output.println("John 90");
       output.println("Tom 88");
       output.close();      //文件读写后及时关闭,不然数据会出现异常
    }   
}

或在代码之前跟Scanner一样引入

import java.io.PrintWriter;
//然后在......均可
PrintWriter output=new PrintWriter(file);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值