学完Java第一季,交作业了!!!请检查错误!!!

//导入java.util包,使用Scanner工具类
import java.util.Scanner;

public class Test1 {
 public static void main(String[] args){
  Scanner input=new Scanner(System.in);//创建Scanner对象
  
  System.out.print("请输入第一个数:");
  int a=input.nextInt();
  
  System.out.print("请输入第二个数:");
  int b=input.nextInt();
  
  System.out.print("请输入第三个数:");
  int c=input.nextInt();
  
  int max=a;//假定a是最大的数
  
  if(b>max||c>max){//如果b、c有一个比假定最大的a大,判断b、c大小。否则a就是最大
   
   if(b>c){
    
    max=b;//b比c大替换假定a
   
   }else{
    
    max=c;//c比b大替换假定a
   }
  }
  System.out.print("最大的数:"+max);
 }
}
/*
 *  题目:给定3个数a,b和c,输出最大的数
 *  
 *   *****如果是很多个数怎么办???*****
 */

*************************************************

import java.util.Scanner;//导入java.util包,使用Scanner工具类
public class Test2 {
 public static void main(String[] args){
  Scanner input=new Scanner(System.in);
  System.out.print("请输入通话时间(秒):");
  int time=input.nextInt();
  int jiao=0;//存储应收费多少角,方便转换成元
  double yuan=0;//存储应收费多少元
  
  if(time<=180){//3分钟内0.2元
   yuan=0.2;
  }else if(time>180){
   
   if(time%60!=0){//若是不是整分钟数,不足一分钟按一分钟算。
    jiao=(int)(time/60-3+1)*1+2;//为方便转换,放大以角计费
    yuan=(double)jiao/10;//讲角转换为元
   }else{//若正分钟数
    yuan=(time/60-3)*0.1+0.2;
   }
  }
  System.out.print("应该收费"+yuan+"元");
 }

}
/* 
 * 某电信公司的市内通话费计算标准如下:
 * 三分钟内0.2元,三分钟后每增加一分钟增加0.1元,
 * 不足一分钟的按一分钟计算。要求编写程序,
 * 给定一个通话时间(单位:秒),
 * 计算出应收费金额。
 */

*************************************************

import java.util.Scanner;
public class Test3 {
 public static void main(String[] srgs){
  Scanner input=new Scanner(System.in);
  System.out.print("请输入形式公里数:");
  double km=input.nextDouble();
  System.out.print("请输入等待时间(秒):");
  int time=input.nextInt();
  double sumMoney=0;
  if(km<=3.0){//3公里以内
   if(time<150){//3公里以内,等待2.5钟内,收费10元
    sumMoney=10;
   }else{//3公里以内,等待2.5钟外,收费10元加等待时间加费
    sumMoney=(int)(10+(time/150*1));
   }
  }else if(km<=15.0){//15公里内
   if(time<150){//15公里内,等待150秒内,起步价+3到15每公里2元
    sumMoney=(int)(10+((km-3)*2*1));
   }else{//15公里内,等待150秒内,起步价+3到15每公里2元+等带时间加费
    sumMoney=(int)10+((km-3)*2*1)+(time/150*1);
   }
  }else{//15公里以外,
   if(time<150){//15公里以外,等150秒内。起步价+3到15每公里2+15公里外每公里3元
    sumMoney=(int)(10+((15-3)*2*1)+((km-15)*3));
   }else{//15公里以外,等150秒内。起步价+3到15每公里2+15公里外每公里3元+等时费
    sumMoney=(int)(10+((15-3)*2*1)+((km-15)*3)+(time/150*1));
   }
  }
  System.out.print("应收车费:"+sumMoney+"元。");
 }

}
/* 
 *某市的出租车计费标准为:
 *3公里以内10元,
 *3公里以后每加0.5公里加收1元;
 *每等待2.5分钟加收1元;
 *超过15公里的每公里加收3元。
 *要求编写程序,
 *对于任意给定的里程数(单位:公里)
 *和等待时间(单位:秒)计算出应付车费,
 *车费直接截去小数位,只取整数。

*************************************************

import java.util.Scanner;
public class Test4 {
 public static void main(String[] args){
  Scanner input=new Scanner(System.in);
  System.out.print("输入某个年份:");
  int year=input.nextInt();
  if(year%4==0){
   if(year%100==0){
    System.out.println(year+"不是闰年"); 
   }
   System.out.println(year+"是闰年");
  }else if(year%400==0){
   System.out.println(year+"是闰年");
  }else{
   System.out.println(year+"不是闰年");
  }
 }

}
/*
 * 编写程序,判断给定的某个年份是否是闰年。 
 * 闰年的判断规则如下:  
 *(1)若某个年份能被4整除但不能被100整除,则是闰年。
 *(2)若某个年份能被400整除,则也是闰年
 */

*************************************************

public class Test5 {
 public static void main(String[] args){
  int sum=0;
  for(int i=1;i<100;i++){
   sum=sum+i;
  }
  System.out.print(" 1+3+5+7+……+99 的和:"+sum);
 }

}
//编写程序求 1+3+5+7+……+99 的和值

*************************************************

public class Test6 {
 public static void main(String[] args){
  System.out.println("1-100之间所有能被7整除的偶数:");
  for(int i=1;i<=100;i++){
   if(i%2==0){
    if(i%7==0){
     System.out.print(i+",");
    }
   }
  }
 }

}
//编写程序输出1-100之间所有能被7整除的偶数。

*************************************************

public class Test7 {
 public static void main(String[] args){
  
  int num1=0;//存储千位数
  int num2=0;//存储百位数
  int num3=0;//存储十位数
  int num4=0;//存储个位数
  
     System.out.println("满足千位>百位>十位>个位且个位等于千+百+十的和的所有四位数:");
 
     for(int num=1000;num<10000;num++){//循环遍历1000到9999所有的s四位数
  
      num1=(int)num/1000;//四位数除以1000强制类型转换得出千位
      num2=(int)(num-num1*1000)/100;//四位数-千位乘以1000除以100,强制类型转换得出百位
      num3=(int)(num-num1*1000-num2*100)/10;//同上
      num4=(int)num-num1*1000-num2*100-num3*10;//同上
  
      if(num1>num2){//判断千位大于百位
         if(num2>num3){//判断百位大于十位
        if(num3>num4&&num1==num4+num2+num3){//判断十位大于个位且千位=个+十+百位
    
         System.out.println(num+";");
     
        }
       }
      }
  }
 }
}
/*
 * 求所有满足如下条件的四位数:
 * 千位上的数字大于百位数字,
 * 百位数字大于十位数字,
 * 十位数字大于个位数字,
 * 并 且千位数字是其他三位数字的和。
 */

*************************************************

import java.util.Scanner;

public class Test8 {
 
 public static void main(String[] args){
  
  Scanner input = new Scanner(System.in);
  System.out.print("请任意输入第一个正整数:");
  int num1=input.nextInt();
  System.out.print("请任意输入第二个正整数:");
  int num2=input.nextInt();
  
  if(num1>=0&&num2>=0){//判断两个数都为正整数
   
   if(num1>num2){//判断第一个数大还是第二个数大
    
    for(int i=num2;i<=num1;i++){//循环遍历两数之间的所有数
     
     int j=(int)Math.sqrt(i);//对两数之间的所有数开方,强制类型转换
     
     if(j*j==i){//判断还原平方还等于原数,正确输出
      
      System.out.println(i+";");//输出;两数之间完全平方数
      
     }
    }
   }else{//第二个数大于第一个数时
     
    for(int i=num1;i<=num2;i++){//同上第一个数大于第二个数
      
     int j=(int)Math.sqrt(i);
      
     if(j*j==i){
       
      System.out.println(i+";");
       
     }
    }
   }
  }else{//提示输入的不是正整数
   System.out.println("输入错误!请输入正整数!!!");
  }
 }
}
/*
 *给定两个任意的正整数,
 *求它们之间的所有完全平方数,
 *完全平方数是指这个数是  某个整数的平方,
 *例如 16,25,36等都是完全平方数。 
 *
 *实现思路:
 *1、判断这两个数是正整数
 *2、比较这两个数的大小
 *3、循环遍历这两个数之间的所有数
 *4、两数之间所有数 开平方,
 *(y = Math.sqrl(x);y得到的就是x的开方数)
 *5、判断开放后为整数
 *6、输出所有开平方没有余数的数字
 */

*************************************************

import java.util.Scanner;
public class Test9 {
 public static void main(String[] args){
  Scanner input=new Scanner(System.in);
  System.out.print("求前几项和:");
  int term=input.nextInt();
  int sum=0;//存储相加的和
     
     for(int n=1;n<term*2;n++){//因为相加有规律质数,所以term*2
      
      if(n%2!=0){//判断是否是质数
       sum=sum+n;//质数累加求和
      }
     }
     if(term%2!=0){//判断前几项和是奇数还是偶数,
   sum=sum-1;//根居推断求前几项和是奇数减1,偶数不加不减
  }
     System.out.println("前"+term+"项的和为:"+sum);
 }
}
/*
 *编写程序求下列多项式的前50项的和:
 *1-1/3+1/5-1/7+1/9-……  
 */

*************************************************

import java.util.Scanner;
public class Test10 {
 public static void main(String[] args){
  Scanner input=new Scanner(System.in);
  System.out.print("输入一个整数:");
  int num=input.nextInt();
  int avg= 0;
  
  do{
   avg=avg*10+num%10;
   num=num/10;
  }while(num!=0);
  System.out.println("倒过来"+avg);
 }

}
/*
 * 给定一个整数,
 * 把它的各位数字倒排过来形成一个新的整数
 * 例如:给定12345   输出54321  ;给定 9870  输出789 
 */

*************************************************

public class Test11 {
 
 public static void main(String[] srgs){
  
  for(int i=1;i<=9;i++){
   
   for(int j=1;j<=i;j++){
    
    System.out.print(j+"*"+i+"="+j*i+"  ");
   }
   
   System.out.println();
  }
 }
}
//请编写程序输出九九乘法表。

*************************************************

没了!!!

我自己知道有繁琐,不足的地方,但是自己不知道怎么改了!!!

好几个程序都出现了小黄叹号,但是都能运行,不知道怎么回事!!!


慕慕夕
浏览 2105回答 2
2回答

千湖之梦

不够严谨,外部输入的参数任何都有可能,所以强转int类型大部分时候时会出错的,至少需要捕获异常。

黑女2008

太长没看,小黄叹号是警告,不影响使用,但是尽量不要出现警告。例如像变量声明了没有使用,就会警告,可以把没使用的删除。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java