跪求JAVA高手帮我改程序,改好了+20分 跪求JAVA高手帮忙修改程序,改好我追加20分

作者&投稿:营定 (若有异议请与网页底部的电邮联系)
你没有写的三个方法:

public boolean equals(Name otherName){
return firstMiddleLast().equalsIgnoreCase(otherName.firstMiddleLast());

}
public String initials(){
return first().substring(0,1).toUpperCase()+
middle().substring(0,1).toUpperCase()+
last().substring(0,1).toUpperCase();
}
public int length(){
return firstMiddleLast().replace(" ", "").length();
}

第一个类:

package test;

public class Name {
private String frist;
private String middle;
private String last;

public Name(String frist,String middle,String last){
this.frist = frist;
this.middle = middle;
this.last = last;
}
public String getFrist() {
return frist;
}
public String getLast() {
return last;
}
public String getMiddle() {
return middle;
}

public String fristMiddleLast(){
return frist+" "+middle+" "+last;
}

public String lastFristMiddle(){
return last+","+frist+" "+middle;
}

public boolean equals(Name otherName){
if(frist.equalsIgnoreCase(otherName.getFrist())&&middle.equalsIgnoreCase(otherName.getMiddle())&&last.equalsIgnoreCase(otherName.getLast())){
return true;
}
return false;
}

public String initials(){

return frist.substring(0,1).toUpperCase()+middle.substring(0,1).toUpperCase()+last.substring(0,1).toUpperCase();

}

public int length(){
return frist.length()+middle.length()+last.length();
}
}

第二个:
package test;

import java.util.Scanner;

public class TestNames {

public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String frist = "";
String middle ="";
String last = "";
System.out.println("Please input the 1 Man's frist name");
frist = s.next();
System.out.println("Please input the 1 Man's middle name");
middle = s.next();
System.out.println("Please input the 1 Man's last name");
last = s.next();

Name name1 = new Name(frist,middle,last);

System.out.println("Please input the 2 Man's frist name");
frist = s.next();
System.out.println("Please input the 2 Man's middle name");
middle = s.next();
System.out.println("Please input the 2 Man's last name");
last = s.next();

Name name2 = new Name(frist,middle,last);

//a
System.out.println(name1.fristMiddleLast());
System.out.println(name1.lastFristMiddle());
System.out.println(name1.initials());
System.out.println(name1.length());

System.out.println(name2.fristMiddleLast());
System.out.println(name2.lastFristMiddle());
System.out.println(name2.initials());
System.out.println(name2.length());

if(name1.equals(name2)){
System.out.println("两个名字相同");
}else{
System.out.println("两个名字不相同");
}

}
}

首先 你忘了 三参构造:
public Name(String first,String middle,String last)
{
super();
this.firstName=first;
this.middleName=middle;
this.lastName=last;
}
还有就是你的get方法 get方法 就是用来取值的 不是用来存值的 存值应该写相应的set方法
所以你的三个get方法 都不应该有第一步 nextLine();至于什么时候赋值,那就是用构造了
如果你非要用Scanner 那也不能在这个类中用 应该在测试的方法中写 比如 main方法中

还有你的 firstMiddleLast()方法 为什么要用 concat呢 直接用 "+" 连接字符串不是很方便么?
return firstName+" "+middleName+" "+lastName;
lastFirstMiddle()方法同上

下来就是判断名字相同的方法,这个方法介绍明确告诉你怎么去做
toString()方法只需要简单的返回此类所有名字的相连就好
比如 public String toString(){
return firstName+middleName+lastName;
}
public boolean equals(Name otherName){
String name1=this.toString();
String name2=otherName.toString();
return name1.equalsIgnoreCase(name2);
}
返回缩写的方法
看看 jdk api 中的substring() 方法怎么用的
public String invitials(){
return firstName.substring(0,1).toUpperCase()+"."+middleName.substring(0,1).toUpperCase()+"."+lastName.substring(0,1).toUpperCase();
}
public int length(){
//可以用重写过的toString 然后直接返回字符串的长度 因为重写的toString没有空格
return this.toString.length();
//也可以用firstMiddleLast()或 lastFirstMiddle()在经过trim()去掉空格也行
return
}

你的test方法 写的问题很多

public class TestName(){
public static void main(String[] args){
//要求说 要输出两个人的名字 那就只能new两个对象
//你的first new了三次 没有意义 和new一次一个效果
Scanner sc=new Scanner();
System.out.print("请输入第一个人的firstName:");
String first_f=sc.next();
System.out.print("请输入第一个人的middleName:");
String first_m=sc.next();
System.out.print("请输入第一个人的lastName:");
String first_l=sc.next();
Name first=new Name(first_f,first_m,first_l);
System.out.print("请输入第二个人的firstName:");
String second_f=sc.next();
System.out.print("请输入第二个人的middleName:");
String second_m=sc.next();
System.out.print("请输入第二个人的lastName:");
String second_l=sc.next();
Name second=new Name(second_f,second_m,second_l);
//上面完成对两个人名字的 录入 分别存入 first 和 second对象中
//下来进行操作,相信 你可以自己完成

}
}

以上是本人 在网页写的 没有调试过 可能个别字符写的有问题 但是只要你看一遍你的问题应该可以解决

跪求JAVA高手帮我修改程序,改好+20分~

import java.util.Scanner;
class Name
{
private String firstName,middleName,lastName;
private String mutation1;
Scanner in = new Scanner(System.in);
public Name()
{
}
public Name(String firstName,String middleName,String lastName)
{
this.firstName=firstName;
this.middleName=middleName;
this.lastName=lastName;
}
public String getFirst()
{
firstName = in.nextLine();
return firstName;
}
public String getMiddle()
{
middleName = in.nextLine();
return middleName;
}
public String getLast()
{
lastName = in.nextLine();
return lastName;
}
public String firstMiddleLast()
{
return firstName+"-"+middleName+"-"+lastName;
}
public String lastFirstMiddle()
{
return lastName+"-"+firstName+"-"+middleName;
}
public String initials()
{
return firstName.toUpperCase().substring(0,1)+" "+
middleName.toUpperCase().substring(0,1)+" "+
lastName.toUpperCase().substring(0,1);
}
public int length()
{
int count=0;
for(int a=0;a<(firstName+middleName+lastName).length();a++)
{
if(!(firstName+middleName+lastName).substring(a,a+1).equals(" "))
count++;
}
return count;
}
public boolean equal(Name othername)
{
if(firstName.equalsIgnoreCase(othername.firstName)&&middleName.equalsIgnoreCase(othername.middleName)&&lastName.equalsIgnoreCase(othername.lastName))
return true;
return false;
}

}

public class TestNames {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Name first;
first = new Name();
first = new Name();
first = new Name();
System.out.print("Please input the first name:");
first.getFirst();
System.out.print("Please input the middle name:");
first.getMiddle();
System.out.print("Please input the last name:");
first.getLast();
System.out.println(first.firstMiddleLast());
System.out.println(first.lastFirstMiddle());
System.out.println(first.initials());
System.out.println(first.length());
System.out.println(first.equal(new Name("john","tom","admin")));/*分别对应firstName,middleName,lastName*/
}

}

你这个算法就是"触壁反弹"的算法,本身就没有包含自由移动..
至于反弹的话,貌似要把moveX,moveY也定义成数组,保证每个白点都有自己的moveX,moveY..

求java程序高手帮我改一下这个小游戏
答:你这游戏没有源码,不好改,找到对应的类反编译一下,把menu的商店那一项setVisible(true),隐藏起来,再编译好打包应该就行了

【java】改错,请高手帮忙改正一下程序。不知道怎么改了。
答:报错的地方是最后一句,应该改为:System.out.println(s.getName()+s.getnum()+s.getmajor()+s.getsex()+s.getgrade());--- 楼主还有个地方有个很严重的问题:s.setnum(0070);你输入的值以0开头,那么java会认为你输入的是8进制的数。8进制的70,转换为十进制是56,所以你最后一句打印出...

跪求JAVA高手指点。。
答:右键单击“我的电脑“---属性---高级---环境变量 ,在下面的系统变量里 点击按钮 新建 JAVA_HOME(如果有JAVA_HOME就编辑该变量)变量名:JAVA_HOME 值:d:\java 然后再新建CLASSPATH(当然,如果有CLASSPATH那还得编辑)变量名:CLASSPATH 值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar...

求JAVA高手,修改程序图的M着色
答://错误已修改,可以运行 //程序中[][]a 没有设置,默认为false,所以 check方法一直返回true,不过就算设置了也一样 //恕我才疏学浅,没看懂你的程序到底干了些什么 class coloring{ static int []x=new int[5];static int n=4,m;static boolean [][]a=new boolean[5][5];static long ...

跪求JAVA高手帮我完善下程序,写好的+30分
答:--consolidate public static Account consolidate(Account a1 ,Account a2){ if(!a1.getName().equls(a2.getName())){ return null;} //close 方法里面 加 closed的目的是区分一下是否有效 if(a1.getName().endsWith("CLOSED") or a2.getName().endsWith("CLOSED")){ return null;}...

跪求JAVA高手指点
答:你在D盘根目录下 D:\>这里.. 直接 Hello.java 什么意思?javac编译命令 java运行命令 简单说下java程序从产生到运行流程。1.编写java源文件,就是一个.java的文件,java源文件要求里面只能有一个public修饰的类,而且必须是一个,并且这个类名要与源文件名相同。2.编译java源文件,就是将.java文件...

求JAVA程序高手帮忙!
答:改成这样看成不。public class ailer { public static void main(String[] str){ int a=1;int b=1;int c;int d;for(d=0;d<8;d++){ c=a+b;a=b;b=c;} System.out.println(c);} }

求Java语言高手帮忙设计程序
答:我给你简易计算机代码吧 import java.awt.Button;import java.awt.Frame;import java.awt.GridLayout;import java.awt.Panel;import java.awt.TextField;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;pub...

求JAVA高手帮忙
答:改为:1、class MyWindow extends Frame implements ActionListener 2、将Button buttonEnter;声明到int a,b,c;之后 作为类变量 3.Button buttonEnter=new Button("确定");改为buttonEnter=new Button("确定");4、text3.setText(c); 改为text3.setText(String.valueOf(c));

高手java计算器修改
答:import java.awt.*;import java.awt.event.*;import javax.swing.*;public class cal extends JApplet implements ActionListener { Container con=getContentPane();JPanel p;GridLayout gj;String s=new String();String ss[]={"C","=","0","1","2","+","3","4","5","-","6",...