第一尝试优快云的编程语言功能,先上传一些学习java在编译过程常犯的错误。
//练习:如何使用三元运算符,输出三个数中的较大值。
import java.util.Scanner;
class Training4
{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入三个数");
int m = s.nextInt();
int n = s.nextInt();
int k = s.nextInt();
System.out.println("你输入的三个数分别是:m=" + m +",n="+ n +",k="+k);
int max = (m > n) ? m : n;
//之前错写成了 int max = (m > n) ? max=m : max=n;
int max2 =(max > k) ?max : k;
System.out.println("max=" + max2);
}
}
/*
从键盘输入小明的期末成绩。
当成绩为100分时,奖励一辆BMW;
当成绩为(80,99]时,奖励一个台iphone5s;
当成绩为[60,80]时,奖励一本参考书;
其它时,什么奖励也没有。
1.条件判断之间可以嵌套
2. ①如果多个条件之间是“互斥”关系,多个条件语句上下顺序是自由的。
②如果多个条件之间存在“包含”关系,要求范围小的写在范围大的上面。
*/
import java.util.Scanner;
class Training5
{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入小明的期末成绩");
int score = s.nextInt();
if(score == 100){ /*此处注意score==10,不能写成score=10;*/
System.out.println("奖励一辆BMW");
}else if(score > 80){
System.out.println("奖励一台iPhone5s");
}else if(score >=60){
System.out.println("奖励一本参考书");
}else{
System.out.println("什么奖励也没有");
}
}
}
/*练习 :对学生成绩大于60分的,输出“合格”。低于60分的,输出“不合格”*/
/*
说明:
1.当多个case语句处理的语句块一致时,可以统一来书写
2.一定情况下switch-case与if-else之间可以相互转换。
*/
import java.util.Scanner;
class Training6
{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入一个学生的成绩");
int score = s.nextInt();
switch (score / 10)
{
case 10 : /*原来写成了case : 10 ; 系统提示错误,该表达不是语句。*/
case 9:
case 8:
case 7:
case 6:
System.out.println("合格");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
System.out.println("不合格");
break;
default :
System.out.println("输入有误!!");
}
}
}
/*5. 输入三个值, 将其从大到小排列.例如输入10 20 19 , 最后显示20 19 10*/
import java.util.Scanner;
class T5
{
public static void main(String[] args){
Scanner s = new Scanner(System.in);/*Scanner s = new Scanner(String.in);//错误: 找不到符号*/
System.out.println("请输入三个数值a、b、c,分别用回车间隔");
int a = s.nextInt();
int b = s.nextInt();
int c = s.nextInt();
System.out.println("您输入的数值分别为:a=" + a +",b=" + b + ",c=" + c);
System.out.println("从大到小的排列顺序为:");
if(a > b){
if(c > a){
System.out.println("c=" + c + ",a=" + a + ",b=" + b);
}else if(b > c){
System.out.println("a=" + a + ",b=" + b + ",c=" + c);
}else{
System.out.println("a=" + a + ",c=" + c + ",b=" + b);
}
}else{ //b>a
if(c > b){
System.out.println("c=" + c + ",b=" + b + ",a=" + a);
}else if(a > c){
System.out.println("b=" + b + ",a=" + a + ",c=" + c);
}else{
System.out.println("b=" + b + ",c=" + c + ",a=" + a);
}
}
}
}
/*
使用while语句,实现从键盘读入个数不确定的整数,并判断读入的正数和负数的个数,输入为0时结束程序。
*/
import java.util.Scanner;
class Test3
{
public static void main(String[] args)
{
Scanner s = new Scanner(System.in);
int i = 1;
int pos = 0;
int nag = 0;
while (true)
{
System.out.println("请输入第" + i + "个数:");
int a = s.nextInt();
if (a > 0){
pos++;
}
/*if (a <0){
nag++;
}*/
/*语法没有错误,但逻辑错误;改正加else,表示当第一个if为false时才执行这个if语句*/
else if (a <0){
nag++;
else{
break;
}
i++;
}
System.out.println("正数的个数为:" + pos + "个");
System.out.println("负数的个数为:" + nag + "个");
}
}
/**
编写一个方法,打印形如[1,1,1,1]的数组
*/
public static void printArr(int[] a){
System.out.print("[");
for(int i=0;i<a.length;i++){ /*for(i=0;i<a.length;i++) //报错,未定义i变量类型*/
if(i==a.length-1){ /*if(i=a.length-1) //报错:不兼容的类型: int无法转换为boolean */
System.out.print(a[a.length-1] + "]");
}else{
System.out.print(a[i] + ",");
}
}
}
//** 数组查表法(根据键盘录入索引,查找对应星期),另外给出星期几返回对应的索引值
*/
import java.util.Scanner;
class Test1
{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
System.out.println("请输入一个0-6的整数");
int a = s.nextInt();
String[] arr = {"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};
findWeek(arr , a);
System.out.println("请输入一个‘星期几’");
String week = s.next();/**String week = s.nextString(); 报错: 找不到符号。*/
int i = findIndex(arr , week);
System.out.println(week + "的对应数值为" + i);
}
/**查找数组值
*/
public static void findWeek(String[] arr, int w){
if(w>7 || w<0){
System.out.println("请输入正确的数值。");
}
for(int i = 0;i<arr.length;i++){
if(w == i){
System.out.println("今天是:" + arr[i]);
}
}
}
/*
输出一个星期几的索引
*/
public static int findIndex(String[] arr,String week){
int result = -1;
for(int i =0;i<arr.length;i++ ){
if(week.equals(arr[i])){ /* if(week.equal(arr[i])) 报错:找不到符号*/
result = i;
}
}
return result;
}
}
/*打印杨辉三角形*/
class TYH
{
public static void main(String[] args){
int[][] yangHui = new int[10][];/*int[][] = new yangHui[10][];//报错:不是语句*/
for(int i = 0;i < yangHui.length;i++){
yangHui[i] = new int[i + 1];
}
for(int i = 0 ;i < yangHui.length; i++){
for(int j = 0 ;j < yangHui[i].length;j++ ){/*for(int j = 0 ;j < yangHui[i].length;i++ );//错误:运行提示:Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 10 at TYH.main(TestyangHui.java:40)*/
yangHui[i][0] = yangHui[i][i] = 1;
if(i > 1 && j > 0 && j < i){
yangHui[i][j] = yangHui[i-1][j-1] + yangHui[i-1][j];
}
}
}
for(int i = 0;i < yangHui.length;i++){
for(int j = 0;j < yangHui[i].length;j++){
System.out.print(yangHui[i][j] + "\t");/*System.out.println(yangHui[i][j] + "\t");//错误:运行结果不符*/
}
System.out.println();
}
System.out.println("--------------------------------------------------------------------------------------");
}
}
/*练习类和对象建立
*/
class TrainingClass1
{
public static void main(String[] args){
Dog d = new Dog();
System.out.println(d.name);
System.out.println(d.color);
d.watch();/*d.watch; 编译错误:不是语句*/
d.catchMouse();/*d.catchMouse; 编译错误:不是语句*/
}
}
//建立Dog类;
class Dog
{
String name = "大黄";
String color = "yellow";/*String color = "yellow" 编译错误:需要";"*/
public void watch(){
System.out.println("看家");
}
public void catchMouse(){
System.out.println("抓老鼠");
}
}
/*练习构造方法*/
class Student
{
private String name;
private int age;
public Student(){
System.out.println("这是一个无构造方法");
}
public Student(String name){
this.name = name;
System.out.println("这是一个有参构造方法");
}
public Student(int age){
this.age = age;
System.out.println("这是一个有参构造方法");
}
public Student(String name,int age){
this.name = name;
this.age = age;
System.out.println("这是一个有参构造方法");
}
public void show(){
System.out.println("name=" + name + ",age=" + age);/*System.out.println("name=" + name",age=" + age);//报错*/
}
}
class ConstrustDemo
{
public static void main(String[] args){ /*public static void main(String[]){ //错误:需要标识符*/
Student s1 = new Student();
s1.show();
Student s2 = new Student("fanbingbibg");
s2.show();
Student s3 = new Student("fanbingbing",27);
s3.show();
Student s4 = new Student(29);
s4.show();
}
}
/*用有参和无参的构造方法练习手机类*/
class Phone
{
private String brand;
private int price;
private String color;
public Phone(){
}
public Phone(String brand,int price,String color){/*public Phone(String brand,int price;String color) //错误*/
this.brand = brand;
this.price = price;
this.color = color;
}
public void setBrand(String Brand){
this.brand = brand;
}
public String getBrand(){
return brand;
}
public void setPrice(int price){
this.price = price;
}
public String getColor(){
return color;
}
public void setColor(String color){
this.color =color;
}
public int getPrice(){
return price;
}
public void show(){
System.out.println("brand=" + brand+",price="+price+",color="+ color);
}
}
class DemoPhone{
public static void main(String[] args){
Phone p = new Phone("小米",2000,"黑色");/*Phone p = new Phone("小米",2000,黑色); //错误:非法字符。逗号不能为全角字符,"黑色"双引号没有加*/
p.show();
p.setBrand("苹果");
p.setPrice(5000);
p.setColor("土豪金");
p.show();
System.out.println("brand="+p.getBrand()+",price="+p.getPrice()+",color="+p.getColor());
/*System.out.println("brand="+p.getBrand +",price="+p.getPrice +",color="+ getColor );错误:找不到符号*/
}
}