java里递归次数太多,为什么会出错?

萌新自己写了一个用链表找质数的代码,运行时没问题,但如果输入的数太大,就会出错,为什么会这样?求大神解答,万分感谢!
代码如下:

//一个找出质数的程序

public class Zhishu{
public static Zhishu firstZhishu=new Zhishu(2);
public Zhishu next=null;
public int number=0;

  private Zhishu(int number){
     this.number=number;
  }

  public static void main(String[] args){
     Zhishu.find(19);
     Zhishu.find(17);
     Zhishu.find(100);
     Zhishu.find(1000);
     Zhishu.find(1069);
     Zhishu.find(3630);
     Zhishu.find(5000);
  }

  public static void find(int n){
     find(n,firstZhishu);
  }

  private static void find(int n,Zhishu a){
        if (n==a.number){
           System.out.println(n+"是质数");
           return;
        }else if(n<a.number){
           System.out.println(n+"不是质数");
           return;
        }else if(a.next==null){
           find(a.number+1,n,a);
        }else{
           find (n,a.next);
        }
  }



  private static void find(int i,int n,Zhishu a){
     if (i<n){
        if (test(i,firstZhishu)){
           a.next=new Zhishu(i);
           find(i+1,n,a.next);
        }else{
           find(i+1,n,a);
        }
     }else{
        if (test(n,firstZhishu)){
           a.next=new Zhishu(n);
           System.out.println(n+"是质数");
        }else{
           System.out.println(n+"不是质数");
        }
     }
  }

  private static boolean test(int i,Zhishu a){
        if (i%a.number==0){
           return false;
        }else if(a.number*2>i){
           System.out.println("找到质数"+i);
           return true;
        }else{
           return (test(i,a.next));
        }
  }

}

运行结果如下:图片说明

图片说明

8个回答

如果报的是栈溢出就没什么好奇怪的哈,递归次数过多,虚拟机一直执行压栈操作,很快栈内存就不足了,你可以把线程的栈内存空间分配大点

h960321
极昼暗语leo 回复wb_snail: 十分感谢!!加了之后可以弄到13000多次了,再百度了一下,大概懂了,应该就是栈内存不足的问题,谢谢大佬啦~
接近 2 年之前 回复
wb_snail
wb_snail 回复极昼暗语leo: java -Xss1M Zhishu
接近 2 年之前 回复
h960321
极昼暗语leo 回复wb_snail: 怎么加啊?萌新不会啊,是java Zhishu -Xss10M吗?这样运行结果没区别,还是会出错
接近 2 年之前 回复
wb_snail
wb_snail 回复极昼暗语leo:执行的时候加个参数 -Xss10M 看看到多少报错
接近 2 年之前 回复
h960321
极昼暗语leo 看不到报的什么错啊,出错的时候就如图一,前面超出显示了,看不到。。。而且是突然质变的,就如5680没出错,但5681就出错了,然后过了一会儿再运行,5680也出错了,再过一会儿再运行5680没问题了,甚至5690也没问题了。。。我有点懵。。。
接近 2 年之前 回复

我也试了一下,死递归不被java允许,java会在你递归过多次后抛出错误,所以如果你想尝试死循环,你得while(true) 或者for(;;);也就是说你的程序绝对无可能一直运行下去

qq_24712507
奔跑的_迷彩狼 回复极昼暗语leo: 你可以把它想象成一个圆,超过最大的就是最小的
接近 2 年之前 回复
h960321
极昼暗语leo 回复小牛宝: 233333好吧,好吧,不能溢出。话说以前又一次用long的时候超出了最大值,竟然输出来负数而不是报错,感觉好奇怪啊2333
接近 2 年之前 回复
qq_34547022
小牛宝 那你又错了,如果你使用int 类型,超过integer.MAXVALUE,就会出错,如果是long类型,也是超过最大值出错。
接近 2 年之前 回复
h960321
极昼暗语leo 成了~~~可以一直运行啦~不管输多大的数都没问题~~~~~谢谢啦~~~
接近 2 年之前 回复
h960321
极昼暗语leo 嗯嗯~好像是的啊~想了一下,我这程序如果想一直运行下去,那我每1000此递归退出一下,把栈释放了,再继续递归,好像有戏,马上去试试~
接近 2 年之前 回复

出错的截图是什么?

贴图看看

h960321
极昼暗语leo 看不到报的什么错啊,出错的时候就如图一,前面超出显示了,看不到。。。而且是突然质变的,就如5680没出错,但5681就出错了,然后过了一会儿再运行,5680也出错了,再过一会儿再运行5680没问题了,甚至5690也没问题了。。。我有点懵。。。
接近 2 年之前 回复

递归次数过多,虚拟机一直执行压栈

你的递归上SystemClock.sleep(100);延迟个一百毫秒,那么不管你递归多少次,都不会有错。

h960321
极昼暗语leo 我写了import android.os.SystemClock;然而他告诉我android.os找不到qwq什么情况.....
接近 2 年之前 回复

哦是我的错,你应该写java的try{
Thread.sleep(100);
}catch(Exception e){
}

h960321
极昼暗语leo 哦,这个貌似没用,还是会溢出,我刚刚在测试的时候加了这个,只不过只sleep(10)
接近 2 年之前 回复

你知道sleep是啥意思么,一秒钟分为1000毫秒,1000毫秒又分为1000微秒 10 就是百分之一秒。延迟那么少有个毛线用,听哥的,延迟加到500,保证你无限循环都不会有错

不然不管你分配多大内存,迟早有天都会出错,话说你也没办法分配内存。楼上你采纳的答案肯定没用,你知道怎么分配更大的内存么,哥哥我做了五年java,都不知道我要怎么给我的软件分配更大的内存。所以最低延迟100毫秒,因为jvm虚拟机回收内存的时间一般是50-80毫秒,你得错开这段时间

h960321
极昼暗语leo 唔,刚刚试了一下,好像还是会出错啊,我的应该是递归太多导致栈溢出了,sleep虽然让程序停在那里,但内存回收机也不会回收那个等待运行中的栈吧?执行到一半的程序应该不会被视为垃圾吧?还是谢谢你啦~
接近 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
为什么参数会太多?
我在vc中使用存储过程,rn用_parameterptr传递参数,rn第一次执行正确,以后总是提示参数太多。rnparameterPtr->Refresh()还是不行.
循环次数太多,怎么办?
我有一个程序,循环次数很多,可能要几百万次,rn for()rn rn forrn rn forrn rn forrn 主程序/////rn rn rn rn有什么好的方法能使它的运算速度变快点么?还有这样的循环好像占内存很大,怎么能限制它对内存的使用?谢谢
尝试重定向的次数太多
[code=C#]rn tryrn rn string sHtml = "";rn CookieContainer cc = new CookieContainer();rn string url = "http://news.baidu.com/ns?word=%22%C3%C0%B5%C4%22+%22%B1%F9%CF%E4%22&ie=gb2312&bs=%22%C3%C0%B5%C4%22+%22%B1%F9%CF%E4%22&sr=0&cl=2&tn=newsdy&ct=1&clk=sortbyrel&bt=0&et=0&rn=100&class=0";rn HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);rn //req.MaximumAutomaticRedirections = 1000;rn //req.Proxy = new WebProxy("myproxyserveraddree",8080); rn req.CookieContainer = cc;rn //req.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.1.4322)"; rnrn HttpWebResponse result = (HttpWebResponse)req.GetResponse();rnrn StreamReader reader = new StreamReader(result.GetResponseStream(),rnrn System.Text.Encoding.GetEncoding("GB2312"));rn sHtml = reader.ReadToEnd();rn reader.Close();rn result.Close();rnrn StreamWriter sw = new StreamWriter("xinhua.html", false, System.Text.Encoding.GetEncoding("GB2312"));rn sw.Write(sHtml);rn sw.Close();rn rn catch(Exception ex)rn rn throw ex;rn rnrn此段程序会报错:尝试重定向的次数太多。。请高手解答 rn[/code]
为什么WinMain函数里加载位图会出错?
int WINAPI WinMain(rn HINSTANCE hInstance, // handle to current instancern HINSTANCE hPrevInstance, // handle to previous instancern LPSTR lpCmdLine, // command linern int nCmdShow // show statern)rnrn CWnd * pwnd=CWnd::GetDesktopWindow();rn CWindowDC dc(pwnd);rn CRect wrect;rn// pwnd->GetWindowRect(&wrect);rn CBitmap bitmap;rn CDC dcMemory;rn// CDC * pdc;rn bitmap.LoadBitmap(IDB_BITMAP2);//这里出错rn CRect rect;rn pwnd->GetWindowRect(&rect);rn CBrush bru(&bitmap);rn dc.FillRect(&rect,&bru);rn rn return 0;rn
为什么AviFileOpen在win2000里会出错?
如题,rnAviFileOpen()这个API在98里用得好好的,可是同样的程序在2000里却rn运行出错,而且出错返回值在AviFileOpen的相关错误返回的宏定义里找rn不到。rnrnMSDN也没说这个API不支持NT,谁告诉该怎么在win2000里使用这个API函rn数?
.net里用Response.write为什么会出错?
<%@ Page Language="VB"%>rnrn<%@ Import Namespace="System.Data" %>rn<%@ Import Namespace="System.Data.ADO" %>rnrn rnrnrn<%rn response.Write "xxx" 'Server.MapPath("\bbs.mdb")rn%>rn rnrnrnrnrnrnrnrn
为什么引用标准模板库里的头文件会出错?
我用C++编程的时候引用了一个头文件,不知为什么,老是编译出错,后来我把所有程序都删除了,就留下面一句:rn#includern还是出错了,请问为什么呀?
为什么会出错?!!
异常详细信息: System.Data.OleDb.OleDbException: 列名 'pword' 无效。列名 'uname' 无效。列名 'logmemberid' 无效rn
为什么会出错???arrylist
[code=Java]rnrnfor(int n=0;n
为什么会编绎出错?
Compiling...rnDl.cpprnLinking...rnDl.obj : error LNK2001: unresolved external symbol "public: __thiscall CDevice::CDevice(void)" (??0CDevice@@QAE@XZ)rnDl.obj : error LNK2001: unresolved external symbol "public: virtual __thiscall CDevice::~CDevice(void)" (??1CDevice@@UAE@XZ)rnDebug/a.exe : fatal error LNK1120: 2 unresolved externalsrnError executing link.exe.rnrna.exe - 3 error(s), 0 warning(s)rnrnrn有谁能告诉我这个出错信息是什么意思?
为什么会出错?
rn DM1->TableBkLookUp->FieldByName(ComboBox1->Text)->Index=0;rn rnDM1:数据模块rnTableBkLookUp: TADOQuery对象rn运行时出现如下错误:Field "图书编号"not found (下拉框中我选了图书编号)rnrn但是当我把TADOQuery对象换成TTable对象时就没有这样的问题,会是什么原因呢?
为什么会出错?????
一个表有一个字段为xml_col是xmltype类型,应用jdbc从数据库中查询到xml_c并取出,各位大侠看一下我的程序为什么报错?rnrnimport java.io.*;rnimport java.util.*;rnimport java.sql.*;rnimport oracle.sql.*;rnimport oracle.jdbc.driver.*;rnimport java.text.*;rnimport org.w3c.dom.*;rnimport org.apache.crimson.tree.*;rnimport oracle.xdb.XMLType;rnrnpublic class getxml rnrn rn public void getxmltest() throws IOException,SQLExceptionrn rn Connection myConnection = null; rn tryrn rn DriverManager.registerDriver(rn new oracle.jdbc.OracleDriver()rn );rnrn myConnection = DriverManager.getConnection(rn "jdbc:oracle:thin:@localhost:1521:ORCL",rn "scott",rn "tiger"rn );rnrn myConnection.setAutoCommit(false);rnrn File file=new File("C:/dd.xml");rn FileOutputStream fout=new FileOutputStream(file);rn rn String mysql="select xml_col from xml_tab";rn PreparedStatement stmt=myConnection.prepareStatement(mysql);rn ResultSet rset=stmt.executeQuery();rn rn if(rset.next())rn rn XMLType poxml = (XMLType)rset.getObject(1);rn String postring = poxml.getStringVal(); rn byte bytes[] = postring.getBytes();rn fout.write(bytes); rn rn rset.close();rn System.out.println("xml文件已经读出到指定文件内!");rn rn rn catch(Exception e)rn rn System.out.println("error :"+e.toString() );rn e.printStackTrace(); rn rn finallyrn rn myConnection.close();rn rn rn public static void main(String[] args) throws IOException,SQLExceptionrn rn getxml gx=new getxml();rn gx.getxmltest();rnrnrn结果出现一下错误:rnException in thread "main" java.lang.NoClassDefFoundError: oracle/xml/parser/v2/XMLParseExceptionrn at oracle.xdb.XMLTypeFactory.create(XMLTypeFactory.java:73)rn at oracle.sql.OPAQUE.toClass(OPAQUE.java:375)rn at oracle.sql.OPAQUE.toJdbc(OPAQUE.java:317)rn at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:143)rn at oracle.jdbc.driver.NamedTypeAccessor.getObject(NamedTypeAccessor.java:99)rn at oracle.jdbc.driver.OracleResultSetImpl.getObject(OracleResultSetImpl.java:914)rn //第四十三行指的是XMLType poxml = (XMLType)rset.getObject(1);rn at getxml.getxmltest(getxml.java:43)rn at getxml.main(getxml.java:73)rn
为什么会出错????
各位老大,请给我讲一下vbscript脚本输出html时的各种符号问题?我的程序老是提示无效字符???
显示为什么会出错。。。。
SHOWOUT MARC A,B,C,D,E;宏调用以在指定坐标和属性显示字符串。rnMOV AH,13H ;其中字符串在ES中定义rnMOV AL,0HrnMOV BH,0HrnMOV BL,DrnMOV CX,ErnMOV DH,ArnMOV DL,BrnMOV SI,OFFSET CrnMOV ES:[BP],SIrnINT 10HrnENDMrnrnSHOWOUT 08,32,MESS1,0B9H,LENTH1;DH/DL=08/32,MESS1为显示的字符串,0B9H为 ;显 示字符串的属性,LENTH1为显示字符串的 ;长度rn这样做,显示怎么会是一段乱码。
为什么LCC会出错??
#include rnrnint main(int argc, char *argv[])rnrn printf("Hello, world\n");rnrn return 0;rnrnrn我用compiler->compile test.cpp 结果出错,说什么 d:\tools\lcc\bin\make.exe:no targets definedrncompilation +link time:0.0 sec,Return code:1
为什么javascript会出错?
我在WEB服务器上用dreamveaver ultradev 4.0在创建记录集时(在Databindings面板里),用的是另一台数据服务器上的Foxpro表作数据源,在测试时能看见表的内容,估计ODBC 连接没有问题, 但设置完成后按“OK”时出现了“ while executing generate Dynamicsource binding in recordset, a JavaScript error occurred” rn 不知是什么原因。请指教。。 rn
为什么会出错?
Private Sub Command1_Click()rnData1.RecordSource = " Select 姓名 From TelTable$"rnData1.RefreshrnEnd Subrn显示excel工作表TelTable$的"姓名"字段,结果是:数据库引擎找不到 " Select 姓名 From TelTable$"rn哪位大师帮改一下!
数据库更新为什么会出错
把数据存入数据库后,用UPDATE更新为什么会出错
为什么会出错呢?
压缩数据库rnrn错误类型:rnMicrosoft JET Database Engine (0x80004005)rn尝试打开的数据库已经被机器 'MY-TOMATO' 上的用户 'admin' 以排它的方式打开。当数据库可使用后请再试一次。rnrnrn调用页面rnrn Dim dbpath,boolIs97rn dbpath = Request("dbpath")rn boolIs97 = Request("boolIs97")rn 'call CompactDB(dbpath,boolIs97)rn response.write(CompactDB(dbpath,boolIs97))rnrnrnrnrn'以下为函数rnFunction CompactDB(dbPath, boolIs97) '备份ACCESS数据库函数 dbPath=数据库路径(实际或虚拟路径) boolIs97=[bool]ACCESS数据库的版本(true=97 )rn Dim fso, Engine, strDBPathrn if mid(dbPath,2,1)<>":" then '查看数据库路径第二个字符是否为:如果是就是绝对路径了...否则为虚拟.rn dbPath=server.mappath(dbPath)rn end ifrnrn strDBPath = left(dbPath,instrrev(DBPath,"\"))rn Set fso = CreateObject("Scripting.FileSystemObject")rn If fso.FileExists(dbPath) Then'判断文件是否存在rn Set Engine = CreateObject("JRO.JetEngine")rn If boolIs97 = "True" Then'判断ACCESS数据库的版本 97rn Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb;" & "Jet OLEDB:Engine Type=4"rn Else'判断ACCESS数据库的版本 Access 2000、2002、2003rn Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"rn End Ifrn fso.CopyFile strDBPath & "temp.mdb",dbpathrn fso.DeleteFile(strDBPath & "temp.mdb")rn Set fso = nothingrn Set Engine = nothingrn CompactDB = " "'返回正确执行信息rn Else '文件不存在rn CompactDB = " "'返回错误执行信息rn End IfrnEnd Function
为什么编译会出错?
在DELPHI中的DCLUSR.DPK 文件中,CONTAINS 和 REQUIRES 中都应当有些什么文件。rn我的文件编译的时候总是提示:Unable to invoke code completion due to errors in source code.
为什么会出错.给分.
5Dlg.obj : error LNK2001: unresolved external symbol "protected: void __thiscall CMy5Dlg::OnStatic1(void)" (?OnStatic1@CMy5Dlg@@IAEXXZ)rnDebug/5.exe : fatal error LNK1120: 1 unresolved externalsrnError executing link.exe.rn大哥我有事请教你.rn我学Vc++时,用手工添加消息处理函数出现了上面的错误,这是为什么?怎么解决?给小弟一个答案.谢谢.rn请你帮帮我.给分.
为什么会出错
class CMyDocument:public CDocumentrnrnpublic:rn CPoint m_ptPoint;rn....rn;rnrn自己写了个view的派生类rnclass CTestView:public CTestViewrnrn...rnrnrnCTestView::OnDraw(CDC * pDC)rnrn ....rn pDC->MoveTo(GetDocument()->m_ptPoint);rn
为什么m_listctrl.SetItemText()会出错?
void CDlg1::Test() rn AfxMessageBox("Test");rn m_listctrl.SetItemText(1,0,">>>>>>>>>>>");rnrnrn调用rnCDlg1 *b ;rnb->Test();rnrn错误提示为rnwinctrl2.cpp 493rnrnlistcontrol已经初始化了rnrn
为什么GetModuleHandle会出错。
rnrnHMODULE procBS = ::GetModuleHandle("f:\\blood\starcraft.exe");rnif(procBS == NULL)rnrn printf("ProcBS null!\n");rn printf("%d \n",GetLastError());rn return;rnrnrn上述代码执行结果为:rnrnProcBS null!rn126rnrnrn当改成GetModuleHandle("kernel32.dll")时能成功执行,请问错在哪里?
为什么RS.CLOSE会出错?
set rs=server.createobject("adodb.recordset")rnsql="update research set hits=hits+1 where id=1"rnrs.open sql,conn,1,1rnrs.closernset rs=nothingrnconn.closernset conn=nothingrn提示rs.close出错,把它注释掉后就好了。rn难道在rs.open sql,conn,1,1后不能紧跟rs.close吗?还是其它原因?
为什么LoadBitmap会出错?
[code=C/C++]rnvoid CDrawCtrl::drawBitmap(IN HDC &hCanvas,rn IN RECT rcRect,rn IN INT u32IDBitmapRes)rnrn CDC* pDc = NULL;rn BOOL bRet = FALSE;rn CDC MemDC;rn BITMAP bmpBitMapTmp;rn CBitmap bmpDrawGraph;rnrn pDc = CDC::FromHandle(hCanvas);rn if(NULL == pDc)rn rn return;rn rnrn //load bitmaprn bRet = bmpDrawGraph.LoadBitmap(MAKEINTRESOURCE(u32IDBitmapRes)); // 这句报错rn rnrn//以下省略rn[/code]rnrn报错后指向 AFXWIN1.INL 这里rn[code=C/C++]_AFXWIN_INLINE HINSTANCE AFXAPI AfxGetResourceHandle()rn ASSERT(afxCurrentResourceHandle != NULL); [/code]rnrn为什么同一段代码,我有些程序调用就ok,有些就会报错?u32IDBitmapRes参数是否可以为未定义的资源ID?rn
请教:为什么会出错?
<%@ page contentType="text/html;charset=Gb2312" %>rnrn rn <%@ page buffer="8kb" autoFlush="true" %>rn <%@ page import="java.util.*"%>rn <% String temp=new String((new java.util.Date()).toLocaleString());%>rn rn rn rnrn rnrn****************t1.jsp 的代码如下:************rnrn rn <%rn String ss=new String();rn ss=request.getParameter("www");rnrn %>rn Now is: <%=ss%>rn rn
为什么会出错呢?
我测试以下代码,但就是无法编译。请各位帮帮我,谢谢。rnrnentry startrnstart:rnmov ax,#0xb800rnmov es,axrnseg esrnmov [0],#0x41rnseg esrnmov [1],#0x1frnloop1: jmp loop1rnrn我使用的是 MASM32。rn我急需解决这个问题,请用邮件happybabyq@msn.com 或 QQ:83107165 回复我,谢谢!
为什么ResultSet会出错?
为什么ResultSet会出错?rn我用:rn String strSql="SELECT GETDATE()";rn ResultSet rsDate=regBean.executeQuery(strSql);rn if(rsDate.next())rn rn strDate=rsDate.getDate(1).toString();rn strTime=rsDate.getTime(1).toString();//--(1)rn strDT=strDate+strTime; //--(2)rn rn elsern strDate="no";rnrn rsDate.close();rnrnrn浏览器却提示:rnHTTP Status 500 - rnrn--------------------------------------------------------------------------------rnrntype Exception reportrnrnmessage rnrndescription The server encountered an internal error () that prevented it from fulfilling this request.rnrnexception rnrnorg.apache.jasper.JasperException: No data foundrn而我将(1)(2)句隐去却没有问题了,这是为什么?
求助!为什么会出错?
void CTBitmapDlg::OnTest() rnrn HDC MemDC; rn char text1[20];rn char * text;rn text=text1;rn strcpy(text,"TEST\0");rn int cxImage = 300;rn int cyImage = 400;rn int numPixels = cxImage*cyImage;rn BYTE *pText = new BYTE[numPixels];rn for(int i = 0 ; i < numPixels; i++)rn rn pText[i] = 0; rn rn HBITMAP bitmap = CreateBitmap(cxImage, cyImage, 0, 8, pText); rn rn if (bitmap)rn rn MemDC = CreateCompatibleDC(NULL);rn SelectObject(MemDC,bitmap);rnrn SetBkMode(MemDC,TRANSPARENT);rn SetTextColor(MemDC, RGB(0xff,0,0));rn rn HFONT hFont; rn hFont = CreateFont(100, 0, 0, 0, FW_BOLD, FALSE, FALSE, FALSE,rn 0, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, rn DEFAULT_QUALITY, DEFAULT_PITCH, text); rn HFONT hfont = (HFONT)::SelectObject(MemDC, hFont);rn rn TextOut(MemDC,30,20,text,strlen(text));rn rn //把数据拷回rn HBITMAP *bmp = (HBITMAP*)SelectObject(MemDC,bitmap);rn //这儿错了rn long len = GetBitmapBits(*bmp,numPixels,(PBYTE)pText);rn //int len = GetDIBits(MemDC,bitmap,1,lpbi->biHeight,(PBYTE)pText,(LPBITMAPINFO)lpbi,DIB_RGB_COLORS);rn if(len == 0)rn rn AfxMessageBox("Wrong");rn rn elsern rn RGBTRIPLE* prgbText = (RGBTRIPLE*) pText;rn for (int i=0; irgbtGreen != 0 )|| (prgbText->rgbtBlue != 0) ||( prgbText->rgbtRed != 0))rn rn /*rn alpha就是透度,公式如下:a1为字幕透度 a2为视频透度,此处假设视频不透,rn 为1.0,RGB1为字幕颜色,RGB2为视频颜色,RGB为合成后的颜色,则rn RGB = a1 * RGB1 + (1-a1)*RGB2rn 如果字幕不透,则a1为1.0,其结果是字幕完全遮盖视频rn */rn //testrn prgbText->rgbtGreen = 255;//prgbText->rgbtGreen;rn prgbText->rgbtBlue = 0;//prgbText->rgbtBlue;rn prgbText->rgbtRed = 0;//prgbText->rgbtRed;rn rn rn rnrn rn rn delete pText;rnrnrn
请教为什么会出错
本页无法显示 rn试图访问的网页出现问题,无法显示。 rnrn--------------------------------------------------------------------------------rnrn请尝试以下方法:rnrn单击 刷新按钮或者梢候再试。rnrn打开 localhost 主页,然后查找与所需信息相关的链接。 rnHTTP 500.100 - 内部服务器错误 - ASP 错误rnInternet 信息服务rnrn--------------------------------------------------------------------------------rnrn技术信息(适用于支持人员)rnrn错误类型:rnMicrosoft VBScript 编译器错误 (0x800A0400)rn/asp/h_oa/workplan/show_other_workplan.asp, 第 18 行rnOption Explicitrnrnrn浏览器类型:rnMozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705) rnrn页:rnGET /asp/h_oa/workplan/show_other_workplan.asp rnrn时间:rn2003年4月19日, 9:34:37 rnrnrn详细信息:rnMicrosoft 支持 rnrn不加Option Explicit就ok????rn
为什么会出错啊?
“/Web”应用程序中的服务器错误。rn--------------------------------------------------------------------------------rnrn无法加载 DLL (CMPPAPI)。 rn说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 rnrn异常详细信息: System.DllNotFoundException: 无法加载 DLL (CMPPAPI)。rnrn源错误: rnrnrn行 66: rn行 67: //Response.Write (myBool.ToString());rn行 68: if(SendSms.InitCMPPAPI(Server.MapPath("Config/cmppc.ini")) == 0)rn行 69: rn行 70: Response.Write ("成功读取配置文件!");rn rnrn源文件: d:\news web\web\webform1.aspx.cs 行: 68 rnrn堆栈跟踪: rnrnrn[DllNotFoundException: 无法加载 DLL (CMPPAPI)。]rn BenQSMS.SendSms.InitCMPPAPI(String iniPath) +0rn BenQSMS.WebForm1.Page_Load(Object sender, EventArgs e) in d:\news web\web\webform1.aspx.cs:68rn System.Web.UI.Control.OnLoad(EventArgs e) +67rn System.Web.UI.Control.LoadRecursive() +35rn System.Web.UI.Page.ProcessRequestMain() +731rnrn rnrnrn--------------------------------------------------------------------------------rn版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573
这句为什么会出错?
int i = 6;rn (i < 0) ? (i++) : (i--);rn System.out.println(i);rn编译的时候说这句有错误“(i < 5) ? (i++) : (i--);”rn难道必须要写成“a = (i < 0) ? (i++) : (i--);”吗?
这里为什么会出错
set rs=conn.execute("select * from (select *,(select sum(times) from tn_work) as actual from tn_stat) order by actual desc")rnresponse.Write(rs("actual"))rnrnaccess数据库rnactual 用来排序就可以 但rs("actual")就出错 rn不可以的吗
为什么fclose会出错
TCHAR szTempFile [MAX_PATH];rn CString szTempPath="C:\\";rn UINT nResult=GetTempFileName (szTempPath, _T ("~ex"),0,szTempFile);rn rn rn int ret=URLDownloadToFile(NULL,"http://www.ip138.com/ip2city.asp",szTempFile,BINDF_GETNEWESTVERSION,NULL);rn if (ret==S_OK) //如果下载成功rn rn FILE *f;rn f=fopen(szTempFile,"rb");rn if(f)rn rn fseek(f,0,SEEK_END);//得到文件大小rn int ilength=ftell(f);rn fseek(f,0,SEEK_SET);rn rn if(ilength>0)rn rn rn char *szIP[32];rn ZeroMemory(szIP,sizeof(szIP));rn fread(szIP,ilength,1,f);rn fclose(f); //这个地方会导致程序错误关闭rn //DeleteFile("ip.ini");rn CString csIp;rn csIp.Format("外网IP:%s",szIP);rn rn //SetDlgItemText(IDC_EDIT_IP,csIp);rn //fclose(f);rn return csIp;rn rn rn rn rn rn elsern //SetDlgItemText(IDC_EDIT_IP,"Error!");rn return "ERROR";
请问为什么会出错?
class java_inrn static int i;rn public static void main(String args[])rn i=System.in.read(); <<---这句报出错rn System.out.println("I="+i);rn rnrn
为什么这句会出错?
[code=C/C++]#import "C:\Program Files\Common Files\System\ado\msado15.dll" \ rn no_namespace \rn rename("EOF","adoEOF")[/code]rnrnrn1>d:\visual studio\mfcproject\ado\demo214\demo214\stdafx.h(29) : error C2017: 非法的转义序列rn
为什么会出错!---急
cx=request.form("a")rnb=request.form("b")rnrnif cx="" and not(b="") then rnexec="select * from user where name='1'"rnend ifrnif cx="" and b="" then rnexec="select * from user where name='2'"rnend ifrnif not(cx="") and b="" then rnexec="select * from user where name ='3'"rnend ifrnif not(cx="") and not(b="") then ----每次我都输入的话就出错,其他的都好?rnexec="select * from user" 为什么rnend if rn
CombineRgn会出错!为什么?
CRgn rgn,rgn2,rgn3;rn rgn.CreateRectRgnIndirect(&rect);rn rgn2.CreateRectRgnIndirect(&rect2);rn rgn3.CombineRgn(&rgn,&rgn2,RGN_OR);rnrn运行到第三句的时候会报错,为什么?
相关热词 c#检测非法字符 c#双屏截图 c#中怎么关闭线程 c# 显示服务器上的图片 api嵌入窗口 c# c# 控制网页 c# encrypt c#微信网页版登录 c# login 居中 c# 考试软件