Java练习记录 一

简单的a+b

最开始写出的代码如下,但在网站上显示编译错误(E中可以运行):

Scanner in=new Scanner(System.in);
		int a,b;
		while(true)
		{
			a=in.nextInt();
			b=in.nextInt();
			System.out.println(a+b);
		}

之后对代码进行改进

	Scanner scanner=new Scanner(System.in);//注意于下面的输入条件对应
		while (scanner.hasNext())//判断进行的条件时,需要用的函数
		{
			int a=scanner.nextInt();
			int b=scanner.nextInt();
			int c=a+b;
			System.out.println(c);
		}

java Scanner中的hasNext()

hasNext()方法判断输入(文件、字符串、键盘等输入流)是否还有下一个输入项,若有,返回true,反之false。在这道题目中如果输入的是空格、tab、回车

第一个HelloWorld程序

public class Main//这里必须写Main,要不然会报编译错误
{
    public static void main(String[]  args)
    {
        System.out.println("**************************");
        System.out.println("Hello World!");
        System.out.println("**************************");
    }
}

三个数中的最大值

public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner in=new Scanner(System.in);
		int a,b,c;
		a=in.nextInt();
		b=in.nextInt();
		c=in.nextInt();
		int max;
		max=(a>b?a:b)>c?(a>b?a:b):c;
		System.out.println(max);
	}

利用这种方法更加便捷

int a,b,c,d;
Scanner input = new Scanner(System.in);
a = input.nextInt();
b = input.nextInt();
c = input.nextInt();
a = a>b?a:b;
a = a>c?a:c;
System.out.println(a);

或者利用这种方法分开进行寻找,赋值给a,最后输出

密码编译问题

正确的程序如下:

		Scanner in=new Scanner(System.in);
		String s=in.nextLine();
		char[] out =new char[s.length()];
		for(int i=0;i<s.length();i++)
		{
			 out[i] =(char)(s.charAt(i)+4);
			if(s.charAt(i)>=88&&s.charAt(i)<=90||s.charAt(i)>=120&&s.charAt(i)<=122)
			{
				out[i]=(char)(s.charAt(i)-25);
			}
		}
		System.out.println(out);

问题解决思路:
定义一个和字符串一样的数组,对每一位进行判断然后转换。
其中注意的问题:
1.定义字符串使用String 并且输入的时候用的是in.nextLine;
2.定义一个char型数组需要使用 char[] 名称 =new char[长度];
3.数据类型的转换 前加需要转换的类型
4.charAt()函数 charAt()方法返回指定索引位置的char值

next()、nextLine()、nextInt()

nextLine()方法时,不将空格看做是两个字符串的间隔,而是看作字符串的一部分,返回时,它作为String类型一并返回


		Scanner sc=new Scanner(System.in);
        System.out.println("使用nextLine()方法,并且输入为:");
        String n=sc.nextLine();
        System.out.println("输出为:");
        System.out.println(n);
	}
}

输入: 12 23
输出为: 12 23

使用next()方法时,将空格看作是两个字符串的间隔:


        System.out.println("使用next()方法,输入为:");
        while(sc.hasNext())
        {
            System.out.print("输出为:");
            String n=sc.next();
            System.out.print(n);
        }
}

输出为 12输出为 23

使用nextInt()方法时,与next()方法类似,只是它的返回值是int类型的,依旧将空格看作是两个输入的数据的间隔

母牛的故事

思路在c语言训练已经写过了

Scanner in = new Scanner(System.in);
		        int [] cow = new int[999];
		        while(true)
		        {
		            int n = in.nextInt();
		            if(n==0)
		            	break;
		            for(int i = 1;i <= n;i++ )
		            {
		                if(i<=4)
		                    cow[i]=i;
		                else
		                    cow[i]=cow[i-1]+cow[i-3];
		            }
		            System.out.println(cow[n]);
		        }

温度转换

注意题目的要求,需要保留两位小数,可以用printf

Scanner in=new Scanner(System.in);
		double F;
		F=in.nextDouble();
		double c=5*(F-32)/9.0;
		System.out.printf("c=%.2f",c);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值