此问题可以通过FILTER来解决
成都创新互联专注于会宁企业网站建设,成都响应式网站建设公司,商城开发。会宁网站建设公司,为会宁等地区提供建站服务。全流程按需设计网站,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
public void init(FilterConfig config) throws ServletException
{
this.requestEncoding = config.getInitParameter("requestEncoding");
this.requestEncoding = ((this.requestEncoding == null) ? "utf-8" : this.requestEncoding);
this.responseEncoding = config.getInitParameter("responseEncoding");
}
页面的编码方式后台需要处理,如果不想每一个页面单独处理可以配置一个filter将字符集更改下,中文问题就解决了
既然你问了,就给你说明白点:
*******************
String str="abc"; * 这种情况是引用数据类型,引用数据类型肯定存放在堆中 栈中放置的是参数变量而不能放对象 对象只能放在堆中
*******************
它只创建一个对象 在堆中创建一个对String类的对象引用变量str(引用变量肯定是存放在堆里的),然后查找栈中是否有"abc",若没有则将"abc"存放进栈,并令str指向"abc",若已经存在则直接令str指向"abc".(也就是说引用变量本身只能存放在堆中 它的值是所指向的字符串abc 它的地址存放在栈中) 它创建多个"abc"字符串在内存中其实只存在一个对象而已,这样有利于节省内存空间同时在一定程度上提高程序运行速度
******************************
String str=new String("abc");* 所有通过new操作符的操作都是在堆完成的
******************************
它创建两个对象 abc对象和str引用对象 两个必须存放在堆中 str指向堆中的abc对象 也就是说 两个对象和str的地址全部存放在堆中 因为使用了new操作符 所以下面的例子里str2,str3和str4即使是值都为abc因为str2的地址在栈中 str3和str4的地址各自开辟空间 所以他们的地址肯定不一样了
但是它们的值是一样的 那就是abc
*******
equals:* equals就是比较值 ==在基本类型里也是比较值 在引用类型里是比较地址 注意这个区别就OK了!
*******
表示堆中的引用变量的值是否相同(引用类型变量比较的是他们本身的值,本身的值是通过引用变量地址指向的对象或字符串来得到的,不管这个被指向的字符串或者对象是在栈中还是堆中)
****
==:*
****
表示堆中或者栈中的基本类型的值或者引用变量的地址是否相同(基本类型比较的是他们本身的值,引用类型变量比较的是地址)
当equals为true时,==不一定为true;
String str1 = "abc";
String str2 = "abc";
System.out.println(str1==str2); //true
String str3=new String ("abc");
String str4 =new String ("abc");
System.out.println(str3==str4); // false
----------------------我是分割线---------------------------------
理解下堆和栈的区别
1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。
2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,
3、全局区(静态区)(static)—,全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域, 未初始化的全局变量和未初始化的静态变量在相邻的另一块区域。 - 程序结束后有系统释放
4、文字常量区—常量字符串就是放在这里的。 程序结束后由系统释放
5、程序代码区—存放函数体的二进制代码。
按照题目要求编写的用javaBean规范设计的学生类Student的Java程序如下
需要创建user.java.test包,把Student.java文件和Test.java文件放入包中,编译Student.java文件并且编译运行Test.java文件得到运行结果
Student.java文件代码如下
package user.java.test;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = 1L;
private String no;
private String name;
private double score;
public Student(){}
public Student(String no,String name,double score){
this.no=no;
this.name=name;
this.score=score;
}
public String getNo(){ return no;}
public void setNo(String no){ this.no=no;}
public String getName(){ return name;}
public void setName(String name){ this.name=name;}
public double getScore(){ return score;}
public void setScore(double score){ this.score=score;}
public String toString(){
return "学号:"+no+",姓名:"+name+",成绩:"+score;
}
public static double getAvg(Student[] sArray){
double sum=0,avg;
for(int i=0;isArray.length;i++){
sum=sum+sArray[i].getScore();
}
avg=sum/sArray.length;
return avg;
}
}
Test.java文件代码如下
package user.java.test;
public class Test{
public static void main(String[] args){
Student[] sArray=new Student[5];
sArray[0]=new Student("001","张三",89.5);
sArray[1]=new Student("002","李四",82.5);
sArray[2]=new Student("003","王五",93);
sArray[3]=new Student("004","赵六",73.5);
sArray[4]=new Student("005","孙七",66);
System.out.println("这些学生的平均分:"+Student.getAvg(sArray));
for(int i=0;isArray.length;i++){
System.out.println(sArray[i].toString());
}
}
}
package Project;
import java.util.Scanner;
public class Complex {
int x;
int y;
Complex(){
x=0;
y=0;
}
Complex(int i,int j){
x=i;
y=j;
}
//显示
public void showComp(){
if(y0){
System.out.print(x+"+"+y+"i"+'\t');
}
if(y0){
System.out.print(x+""+y+"i"+'\t');
}
if(y==0){
System.out.print(x+""+'\t');
}
}
//求和
public static Complex addComp(Complex C1,Complex C2){
Complex newComplex=new Complex();
newComplex.x=C1.x+C2.x;
newComplex.y=C1.y+C2.y;
System.out.println();
System.out.print("和为:");
return newComplex;
}
//求差
public static Complex subComp(Complex C1,Complex C2){
Complex newComplex=new Complex();
newComplex.x=C1.x-C2.x;
newComplex.y=C1.y-C2.y;
System.out.println();
System.out.print("差为:");
return newComplex;
}
//求积
public static Complex multiComp(Complex C1,Complex C2){
Complex newComplex=new Complex();
newComplex.x=C1.x*C2.x-C1.y*C2.y;
newComplex.y=C1.x*C2.y+C1.y*C2.x;
System.out.println();
System.out.print("积为:");
return newComplex;
}
//是否相等
public static boolean equalComp(Complex C1,Complex C2){
System.out.println();
System.out.print("是否相等:");
return ((C1.x==C2.x)(C1.y==C2.y));
}
public static void main(String[] args){
Scanner data=new Scanner(System.in);
int x=data.nextInt();
int y=data.nextInt();
int m=data.nextInt();
int n=data.nextInt();
Complex Comp1=new Complex(x,y);
Complex Comp2=new Complex(m,n);
data.close();
//显示
Comp1.showComp();
Comp2.showComp();
Complex.addComp(Comp1,Comp2).showComp(); //显示 和
Complex.subComp(Comp1, Comp2).showComp(); //显示 差
Complex.multiComp(Comp1, Comp2).showComp(); //显示 积
System.out.println( Complex.equalComp(Comp1, Comp2));
}
}
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class TT {
/**
* @param args
*/
public static void main(String[] args) {
int R = -1;
int G = -1;
int B = -1;
while ( true ) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("Enter R value:");
str = br.readLine();
R = Integer.parseInt(str);
if (R!=-1 (R = 0 R =255)) {
System.out.println("The R value is :"+R);
break;
} else
System.out.println("please input valid INTEGER value and value should between 0 ~ 255");
} catch(Exception e) {
System.out.println("please input valid INTEGER value and value should between 0 ~ 255");
}
}
while ( true ) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("Enter G value:");
str = br.readLine();
G = Integer.parseInt(str);
if (G!=-1 (G = 0 G =255)) {
System.out.println("The G value is :"+G);
break;
} else
System.out.println("please input valid INTEGER value and value should between 0 ~ 255");
} catch(Exception e) {
System.out.println("please input valid INTEGER value and value should between 0 ~ 255");
}
}
while ( true ) {
try {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = null;
System.out.println("Enter B value:");
str = br.readLine();
B = Integer.parseInt(str);
if (B!=-1 (B = 0 B =255)) {
System.out.println("The B value is :"+B);
break;
} else
System.out.println("please input valid INTEGER value and value should between 0 ~ 255");
} catch(Exception e) {
System.out.println("please input valid INTEGER value and value should between 0 ~ 255");
}
}
String[] h=new String[256];
h[0]="00";h[1]="01";h[2]="02";h[3]="03";h[4]="04";h[5]="05";
h[6]="06";h[7]="07";h[8]="08";h[9]="09";h[10]="0A";h[11]="0B";
h[12]="0C";h[13]="0D";h[14]="0E";h[15]="0F";h[16]="10";h[17]="11";
h[18]="12";h[19]="13";h[20]="14";h[21]="15";h[22]="16";h[23]="17";
h[24]="18";h[25]="19";h[26]="1A";h[27]="1B";h[28]="1C";h[29]="1D";
h[30]="1E";h[31]="1F";h[32]="20";h[33]="21";h[34]="22";h[35]="23";
h[36]="24";h[37]="25";h[38]="26";h[39]="27";h[40]="28";h[41]="29";
h[42]="2A";h[43]="2B";h[44]="2C";h[45]="2D";h[46]="2E";h[47]="2F";
h[48]="30";h[49]="31";h[50]="32";h[51]="33";h[52]="34";h[53]="35";
h[54]="36";h[55]="37";h[56]="38";h[57]="39";h[58]="3A";h[59]="3B";
h[60]="3C";h[61]="3D";h[62]="3E";h[63]="3F";h[64]="40";h[65]="41";
h[66]="42";h[67]="43";h[68]="44";h[69]="45";h[70]="46";h[71]="47";
h[72]="48";h[73]="49";h[74]="4A";h[75]="4B";h[76]="4C";h[77]="4D";
h[78]="4E";h[79]="4F";h[80]="50";h[81]="51";h[82]="52";h[83]="53";
h[84]="54";h[85]="55";h[86]="56";h[87]="57";h[88]="58";h[89]="59";
h[90]="5A";h[91]="5B";h[92]="5C";h[93]="5D";h[94]="5E";h[95]="6F";
h[96]="60";h[97]="61";h[98]="62";h[99]="63";h[100]="64";h[101]="65";
h[102]="66";h[103]="67";h[104]="68";h[105]="69";h[106]="6A";h[107]="6B";
h[108]="6C";h[109]="6D";h[110]="6E";h[111]="6F";h[112]="70";h[113]="71";
h[114]="72";h[115]="73";h[116]="74";h[117]="75";h[118]="76";h[119]="77";
h[120]="78";h[121]="79";h[122]="7A";h[123]="7B";h[124]="7C";h[125]="7D";
h[126]="7E";h[127]="7F";h[128]="80";h[129]="81";h[130]="82";h[131]="83";
h[132]="84";h[133]="85";h[134]="86";h[135]="87";h[136]="88";h[137]="89";
h[138]="8A";h[139]="8B";h[140]="8C";h[141]="8D";h[142]="8E";h[143]="8F";
h[144]="90";h[145]="91";h[146]="92";h[147]="93";h[148]="94";h[149]="95";
h[150]="96";h[151]="97";h[152]="98";h[153]="99";h[154]="9A";h[155]="9B";
h[156]="9C";h[157]="9D";h[158]="9E";h[159]="9F";h[160]="A0";h[161]="A1";
h[162]="A2";h[163]="A3";h[164]="A4";h[165]="A5";h[166]="A6";h[167]="A7";
h[168]="A8";h[169]="A9";h[170]="AA";h[171]="AB";h[172]="AC";h[173]="AD";
h[174]="AE";h[175]="AF";h[176]="B0";h[177]="B1";h[178]="B2";h[179]="B3";
h[180]="B4";h[181]="B5";h[182]="B6";h[183]="B7";h[184]="B8";h[185]="B9";
h[186]="BA";h[187]="BB";h[188]="BC";h[189]="BD";h[190]="BE";h[191]="BF";
h[192]="C0";h[193]="C1";h[194]="C2";h[195]="C3";h[196]="C4";h[197]="C5";
h[198]="C6";h[199]="C7";h[200]="C8";h[201]="C9";h[202]="CA";h[203]="CB";
h[204]="CC";h[205]="CD";h[206]="CE";h[207]="CF";h[208]="D0";h[209]="D1";
h[210]="D2";h[211]="D3";h[212]="D4";h[213]="D5";h[214]="D6";h[215]="D7";
h[216]="D8";h[217]="D9";h[218]="DA";h[219]="DB";h[220]="DC";h[221]="DD";
h[222]="DE";h[223]="DF";h[224]="E0";h[225]="E1";h[226]="E2";h[227]="E3";
h[228]="E4";h[229]="E5";h[230]="E6";h[231]="E7";h[232]="E8";h[233]="E9";
h[234]="EA";h[235]="EB";h[236]="EC";h[237]="ED";h[238]="EE";h[239]="EF";
h[240]="F0";h[241]="F1";h[242]="F2";h[243]="F3";h[244]="F4";h[245]="F5";
h[246]="F6";h[247]="F7";h[248]="F8";h[249]="F9";h[250]="FA";h[251]="FB";
h[252]="FC";h[253]="FD";h[254]="FE";h[255]="FF";
String B16 = "#" + h[R] + h[G] + h[B];
System.out.println(B16);
}
}