Java题目求解 java基础题目编程题
java题目求解
以下为标准答案:
public class Employee {
//name,age,tel,gz
String name;
int age;
String tel;
double gz;
public Employee() {
}
/*
* 涨工资方法
* */
public void raiseSalary(double proportion){
this.setGz(this.gz+proportion);
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String getTel() {
return tel;
}
public void setTel(String tel) {
this.tel = tel;
}
public double getGz() {
return gz;
}
public void setGz(double gz) {
this.gz = gz;
}
}
------------------------------------------------------------------
public class Manager extends Employee {
private String officeID;// 此处不了解你的办公室具体ID生成策略,用String类型
private double bonus;
public Manager() {
// 实体类的空参数构造方法(java bean)
}
public Manager(String name, int age, String tel, double gz, String officeID) {
this.name = name;
this.age = age;
this.tel = tel;
this.gz = gz;
this.officeID = officeID;
}
/*
* 重写涨工资方法
* */
public void raiseSalary(double proportion){
this.setGz(this.gz+proportion*1.1);
}
public String getOfficeID() {
return officeID;
}
public void setOfficeID(String officeID) {
this.officeID = officeID;
}
public double getBonus() {
return bonus;
}
public void setBonus(double bonus) {
this.bonus = bonus;
}
}
-------------------------------------------------------------------
public class TemporaryEmployee extends Employee {
private int hireYears;
public TemporaryEmployee(){
}
public TemporaryEmployee(String name, int age, String tel, double gz,int hireYears){
this.name = name;
this.age = age;
this.tel = tel;
this.gz = gz;
this.hireYears = hireYears;
}
/*
* 重写涨工资方法
* */
public void raiseSalary(double proportion) {
this.setGz(this.gz+proportion*0.5);
}
public int getHireYears() {
return hireYears;
}
public void setHireYears(int hireYears) {
this.hireYears = hireYears;
}
}
----------------------------------------------------------------------
这个里面换行的问题不太好解决,只能这样了!
望采纳
奇迹工作室 东东程序猿手打
java题目求解,完整答案,谢谢
public interface Myinterface{
public int max(int a,int b,int c);
public int min(int a,int b,int c);
}
public class Operation implements Myinterface{
public static void main(String []args){
public int max(int a,int b,int c){
最大值算法
}
public int min(int a,int b,int c ){
最小值算法
}
}
}
3个java题目求解。
package 你的包名;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test1 {
/**
* PS: 有些方法好象写的比较复杂。一时想不起比较好的方法,你可再优化一下
* @param args
*/
public static void main(String[] args) {
//1.验证
String email = "d@q.s.q";
System.out.println("邮箱验证结果:"+checkEmail(email));
//2.统证数量
String s1 = "qqQQQ在在在在11111";
groupcount(s1);
//3.拆分
String s2 ="fdHSDdddHsDH";
args = splitString(s2);
for(String str : args){
System.out.println(str);
}
}
/**
* 判断邮箱
* 最好不要把所有的判断都写在一起,把判断拆分处理
* @param email 需要检查的email
* @return true 正确, false 错误
* author 建议:邮箱就使用正则表达来验证就行了。不要搞这么麻烦
*/
public static boolean checkEmail(String email){
if(email==null || "".equals(email)){
System.out.println("邮箱参数为空!");
return false;
}
//1:必定包含.和@
if(email.indexOf(".")==-1){
System.out.println("邮箱不包含(.)");
return false;
}
if(email.indexOf("@")==-1){
System.out.println("邮箱不包含(@)");
return false;
}
int length = email.length();
//2:.和@不能位于首尾
if(".".equals(email.charAt(0)+"") ||
".".equals(email.charAt(length-1)+"")){
System.out.println(".不能出现在首尾");
return false;
}
if("@".equals(email.substring(0,1)) ||
"@".equals(email.substring(length-1,length))){
System.out.println("@不能出现在首尾");
return false;
}
//3:.可以出现多次,但@只能一次
int num=0;
for(int i=0;i<length;i++){
if("@".equals(email.charAt(i)+"")){
num++;
}
if(num>1){
System.out.println("@只能出现一次!");
return false;
}
}
//4:.不能在@之前出现
if(email.indexOf(".")<email.indexOf("@")){
System.out.println(".不能在@之前出现");
return false;
}
//5:.不能紧接@后面出现
if(email.indexOf(".")-email.indexOf("@")==1){
System.out.println(".不能紧接@后面出现");
return false;
}
//6:.不能连续出现
//.在email出现位置的集合
//ps: 好象方法有点笨。TMD
List<Integer> list = new ArrayList<Integer>();
for(int i=0;i<length;i++){
if(".".equals(email.charAt(i)+"")){
list.add(i);
}
}
for(int i=0;i<list.size()-1;i++){
if(list.get(i+1)-list.get(i)==1){
System.out.println("..不跟紧跟着一起!");
return false;
}
}
//7:末尾必须是,,,.结尾
int index = email.lastIndexOf(".");
String str = email.substring(index);
String [] el = {"","","","."};
int m=0; //匹配次数
for(int i=0;i<el.length;i++){
if(el[i].equals(str)){
m++;
break;
}
}
if(m==0){
System.out.println("必须以,,,.结尾");
return false;
}
//如果上述都通过。则返回正确
return true;
}
//4.输入一个字符串,统计字符串中的非字母数,大写字母数,小写字母数,数字数
//string 为需要处理的字符串
public static void groupcount(String string){
int a=0; //非字母
int b=0; //大
int c=0; //小
int d=0; //数
if(string != null && string.length()>1){
for(int i=0;i<string.length();i++){
char s = string.charAt(i);
Pattern p = Patternpile("[0-9]");
Matcher m = p.matcher(s+"");
if(m.matches()){ //是否数字
d++;
}else if(Character.isLowerCase(s)){ //是否小写
c++;
}else if(Character.isUpperCase(s)){ //是否大写
b++;
}else{
a++;
}
}
}
System.out.println("非字母:"+a+"大写字母:"+b+" 小写字母:"+c+" 数字:"+d);
}
//5.拆分一个字符串,以大写字母作为标识,将一个字符串中的单词提取出来并且保存到一个数组里
//string 为需要处理的字符串
public static String[] splitString(String string){
//因为一开始这个集合是可变的。不能直接申明数组。可能用动态大小集合 list...
List<String> list = new ArrayList<String>();
if(string != null){
int length = string.length();
int index= 0; //纪录上一次被切的位置
for(int i=0;i<length;i++){
if(Character.isUpperCase(string.charAt(i))){
list.add(string.substring(index,i));
index=i;
}
}
}
//转化成数组
String [] args = new String[list.size()];
for(int i=0;i<list.size();i++){
args[i]=list.get(i);
}
return args;
}
}
一个简单的JAVA程序题目.求解.
public static void main(String[] args) {
int i=0;
int sum=0;
int count = 0;
for(;i < 40;i++){
if(i%3==0 && i%4==0) {
sum=sum+i;
count = count + 1;
}
}
System.out.println(sum);
System.out.println(sum/count);
}